<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Carlos Serrão &#187; PHP</title>
	<atom:link href="http://blog.carlosserrao.net/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.carlosserrao.net</link>
	<description>… o meu diário pessoal, aberto ao mundo.</description>
	<lastBuildDate>Tue, 16 Mar 2010 11:09:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Guião para o Desenvolvimento Seguro em PHP</title>
		<link>http://webappsec.netmust.eu/2009/10/14/guiao-para-o-desenvolvimento-seguro-em-php/</link>
		<comments>http://webappsec.netmust.eu/2009/10/14/guiao-para-o-desenvolvimento-seguro-em-php/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 10:31:58 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Treino e Formação]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://webappsec.netmust.eu/2009/10/14/guiao-para-o-desenvolvimento-seguro-em-php/</guid>
		<description><![CDATA[Numa altura em que a maior parte das aplicações de Desktop começam a ser rapidamente substituídas por equivalentes na Web, torna-se crucial garantir a segurança dessas mesmas aplicações. Em grande parte, a segurança dessas mesmas aplicações não reside somente em aspectos relacionados com o rede de comunicações e de infra-estrutura, mas igualmente no próprio código-fonte [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Numa altura em que a maior parte das aplicações de Desktop começam a ser rapidamente substituídas por equivalentes na Web, torna-se crucial garantir a segurança dessas mesmas aplicações. Em grande parte, a segurança dessas mesmas aplicações não reside somente em aspectos relacionados com o rede de comunicações e de infra-estrutura, mas igualmente no próprio código-fonte que originou a aplicação.</p>
<p style="text-align: justify;">Uma das linguagens de programação mais utilizada para desenvolvimento de aplicações dinâmicas para a Web é o PHP. O PHP, pelo facto de ser uma linguagem de programação aberta, não estando dependente de nenhum sistema nem de nenhum fornecedor específico, tornou-se numa escolha preferencial para este tipo de desenvolvimento.</p>
<p style="text-align: justify;">Qualquer um, com um mínimo de esforço, consegue desenvolver uma aplicação web em PHP. A questão que se coloca é: será essa aplicação segura?</p>
<p style="text-align: justify;">Para minimizar os riscos de segurança no desenvolvimento de aplicações Web com PHP, o <a href="http://phpsec.org/" >PHP Security Consortium</a>, tem um documento em que oferece uma visão clara sobre quais as melhores práticas para o desenvolvimento seguro com o PHP: <a href="http://phpsec.org/php-security-guide.pdf" >PHP Security Guide 1.0</a>.</p>
<p style="text-align: justify;">Para quem desenvolve aplicações em PHP, é de leitura obrigatória.</p>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://webappsec.netmust.eu/2009/10/14/guiao-para-o-desenvolvimento-seguro-em-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atravessar e listar directorias em PHP</title>
		<link>http://blog.carlosserrao.net/2009/04/atravessar-e-listar-directorias-em-php/</link>
		<comments>http://blog.carlosserrao.net/2009/04/atravessar-e-listar-directorias-em-php/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 00:48:07 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[LAMP]]></category>

		<guid isPermaLink="false">http://blog.carlosserrao.net/2009/04/atravessar-e-listar-directorias-em-php/</guid>
		<description><![CDATA[Hoje, durante uma das sessões do curso de LAMP que estou a dar na Caixa Mágica Software, tentei fazer um exercício em que um script de PHP pudesse ser usado para listar e navegar nas várias directorias do sistema de ficheiros do sistema.

A solução não me parecia muito complexa, e era directa de implementar. No [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hoje, durante uma das sessões do curso de LAMP que estou a dar na Caixa Mágica Software, tentei fazer um exercício em que um script de PHP pudesse ser usado para listar e navegar nas várias directorias do sistema de ficheiros do sistema.</p>

<p style="text-align: justify;">A solução não me parecia muito complexa, e era directa de implementar. No entanto, e por estranho que pareça, o script listava apenas a directoria de início, e quando se navegava para as sub-directorias, recusava-se a indicar as potenciais sub-directorias existentes.</p>

<p style="text-align: justify;">Depois de voltar para casa e bater um pouco a cabeça, acabei por conceber uma solução que parece funcionar bem sem problemas. Aqui partilho a mesma convosco, pode ser que vos venha a ser útil.</p>

<p style="text-align: justify;"></p>

<p><pre>&lt;?<br />
if(isset($_REQUEST['dirname']))<br />
{<br />
    $dir = $_REQUEST['dirname']; <br />
}<br />
else<br />
{<br />
    $dir = getcwd();<br />
}<br />
    <br />
echo "&lt;b&gt;".$dir."&lt;/b&gt;&lt;br&gt;";<br />
<br />
$dh=opendir($dir);<br />
<br />
if($dh==false) <br />
{<br />
    echo "Nao consegui abrir a directoria...";<br />
    exit;<br />
}<br />
<br />
while((false !== ($entry = readdir($dh))))<br />
{ <br />
    if(isset($_REQUEST['dirname']))<br />
        $fileentry = $dir.$entry;<br />
    else<br />
        $fileentry = $entry;<br />
<br />
    if(is_dir($fileentry))<br />
        echo '&lt;b&gt;&lt;a href="webexplorer.php?dirname='.$dir.'/'.$entry.'/"&gt;'.$entry.'&lt;/a&gt;&lt;/b&gt;&lt;br&gt;';<br />
    else<br />
    {<br />
        echo $entry."&lt;br&gt;";<br />
    }<br />
    <br />
}<br />
closedir($dh);<br />
?&gt;
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.carlosserrao.net/2009/04/atravessar-e-listar-directorias-em-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Aqui fica mais um dia de OWASP EU Summit</title>
		<link>http://blog.carlosserrao.net/2008/11/aqui-fica-mais-um-dia-de-owasp-eu-summit/</link>
		<comments>http://blog.carlosserrao.net/2008/11/aqui-fica-mais-um-dia-de-owasp-eu-summit/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 01:58:21 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Locais]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[País]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[carreira]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[portugal]]></category>
		<category><![CDATA[publicidade]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[clickjacking]]></category>
		<category><![CDATA[esapi]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[summit]]></category>
		<category><![CDATA[top ten]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.carlosserrao.net/2008/11/aqui-fica-mais-um-dia-de-owasp-eu-summit/</guid>
		<description><![CDATA[O dia de hoje foi super-cansativo. A OWASP Portugal teve um papel mais interventivo e tivemos que preparar uma série de material quer para a imprensa, quer para os próprios membros do OWASP.

Uma das tarefas que nos foram incumbidas, foi a selecção de alguns dos principais especialistas presentes no Summit, e gravar pequenos vídeos com [...]]]></description>
			<content:encoded><![CDATA[<p>O dia de hoje foi super-cansativo. A OWASP Portugal teve um papel mais interventivo e tivemos que preparar uma série de material quer para a imprensa, quer para os próprios membros do OWASP.</p>

<p>Uma das tarefas que nos foram incumbidas, foi a selecção de alguns dos principais especialistas presentes no Summit, e gravar pequenos vídeos com eles sobre diversos aspectos do OWASP e de alguns dos ataques mais comuns na Web.</p>

<ul>   <li>Introdução ao OWASP </li>    <li>Apresentação do OWASP Top Ten </li>    <li>Apresentação do OWASP Enterprise Security API (ESA) </li>    <li>SQL, XML e LDAP Injection </li>    <li>Phishing </li>    <li>Clickjacking.     <br /></li> </ul>

<p>Assim, e visto que hoje não houve tempo para mais, aqui ficam alguns dos vídeos (entretanto já carregados para o Youtube). Mais alguns vídeos estarão disponíveis posteriormente&#8230;</p>

<p><b>Introdução ao OWASP</b>, by Jeff Williams</p>

<div class="youtube-video"><object width="425" height="355"> <param name="movie" value="http://www.youtube.com/v/skTNrQOGLOc"> </param> <param name="wmode" value="transparent"> </param> <embed src="http://www.youtube.com/v/skTNrQOGLOc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"> </embed> </object></div>

<p><b>Apresentação do Top Ten</b>, by Jeff Williams</p>

<div class="youtube-video"><object width="425" height="355"> <param name="movie" value="http://www.youtube.com/v/GsRbpshqqII"> </param> <param name="wmode" value="transparent"> </param> <embed src="http://www.youtube.com/v/GsRbpshqqII" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"> </embed> </object></div>

<p><b>OWASP Enterprise Security API (ESAPI)</b>, by Jeff Williams</p>

<div class="youtube-video"><object width="425" height="355"> <param name="movie" value="http://www.youtube.com/v/-D_bymZ-8vI"> </param> <param name="wmode" value="transparent"> </param> <embed src="http://www.youtube.com/v/-D_bymZ-8vI" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"> </embed> </object></div>

<p>&#160;</p>

<p>(prometo que depois coloco aqui os vídeos mais interessantes – ou seja aqueles que demonstram os ataques)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.carlosserrao.net/2008/11/aqui-fica-mais-um-dia-de-owasp-eu-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 conselhos dos gurus do PHP</title>
		<link>http://blog.carlosserrao.net/2008/09/10-conselhos-dos-gurus-do-php/</link>
		<comments>http://blog.carlosserrao.net/2008/09/10-conselhos-dos-gurus-do-php/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 17:36:01 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://carlosserrao.allofads.com/2008/09/10-conselhos-dos-gurus-do-php/</guid>
		<description><![CDATA[Estava eu a navegar pela WWW, quando de repente tropecei neste artigo, que contém 10 conselhos importantes de alguns dos mais conhecidos gurus em PHP.




  &#8220;Utilize o PHP apenas quando necessita de o fazer&#8221; &#8211; Rasmus Lerdorf

  &#8220;utilize múltiplas tabelas com PHP e MYSQL para obter escalabilidade&#8221; &#8211; Matt Mullenweg

  &#8220;Nunca, mas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Estava eu a navegar pela WWW, quando de repente tropecei neste <a href="http://nettuts.com/articles/10-principles-of-the-php-masters/">artigo</a>, que contém 10 conselhos importantes de alguns dos mais conhecidos gurus em PHP.</p>

<p style="text-align: justify;"></p>

<ol>
  <li>&#8220;Utilize o PHP apenas quando necessita de o fazer&#8221; &#8211; <a href="http://en.wikipedia.org/wiki/Rasmus_Lerdorf">Rasmus Lerdorf</a></li>

  <li>&#8220;utilize múltiplas tabelas com PHP e MYSQL para obter escalabilidade&#8221; &#8211; <a href="http://en.wikipedia.org/wiki/Matt_Mullenweg">Matt Mullenweg</a></li>

  <li>&#8220;Nunca, mas nunca confie nos utilizadores&#8221; &#8211; Dave Child</li>

  <li>&#8220;Invista em PHP cache&#8221; &#8211; Ben Balbo</li>

  <li>&#8220;Aumente a velocidade de desenvolvimento em PHP, recorrendo a IDE, templates e Snippets&#8221; &#8211; Chad Kieffer</li>

  <li>&#8220;Faça melhor uso das funções de filtro do PHP&#8221; &#8211; Joey Sochacki</li>

  <li>&#8220;Use uma framework de PHP&#8221; &#8211; Josh Sharp</li>

  <li>&#8220;Não use uma framework de PHP&#8221; &#8211; Rasmus Lerdorf</li>

  <li>&#8220;Use processamento em batch&#8221; &#8211; Jack D. Herrington</li>

  <li>&#8220;Ligue a notificação de erros imediatamente&#8221; &#8211; David Cummings</li>
</ol>

<p style="text-align: justify;">Para mais informação, vejam o <a href="http://nettuts.com/articles/10-principles-of-the-php-masters/">artigo original</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.carlosserrao.net/2008/09/10-conselhos-dos-gurus-do-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Summer School</title>
		<link>http://blog.carlosserrao.net/2008/07/php-summer-school-2/</link>
		<comments>http://blog.carlosserrao.net/2008/07/php-summer-school-2/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 09:45:02 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[verão]]></category>

		<guid isPermaLink="false">http://carlosserrao.allofads.com/2008/07/php-summer-school-2/</guid>
		<description><![CDATA[

Aqui está uma nova edição da PHP Summer School organizada pela Caixa Mágica e e pela DRI.

A novidade deste ano, é que vai haver uma edição, designada por &#8220;PHP Summer School Advanced Topics&#8221; que se realiza já no final do Verão (ainda não se conhece é o programa desta iniciativa).

Para participar nesta segunda acção é [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img src="http://carlosserrao.allofads.com/wp-content/uploads/2008/07/php-summer-school.jpg" width="450" height="160" alt="PHP Summer School.jpg" /></p>

<p style="text-align: justify;">Aqui está uma nova edição da <a href="http://www.phpsummerschool.org/">PHP Summer School</a> organizada pela <a href="http://www.caixamagica.pt/">Caixa Mágica</a> e e pela <a href="http://www.dri.pt/">DRI</a>.</p>

<p style="text-align: justify;">A novidade deste ano, é que vai haver uma edição, designada por &#8220;PHP Summer School Advanced Topics&#8221; que se realiza já no final do Verão (ainda não se conhece é o programa desta iniciativa).</p>

<p style="text-align: justify;">Para participar nesta segunda acção é necessário ter frequentado a &#8220;normal&#8221; sessão de &#8220;PHP Summer School&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.carlosserrao.net/2008/07/php-summer-school-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar ambiente xAMP no Leopard</title>
		<link>http://blog.carlosserrao.net/2007/11/instalar-ambiente-xamp-no-leopard/</link>
		<comments>http://blog.carlosserrao.net/2007/11/instalar-ambiente-xamp-no-leopard/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 02:16:04 +0000</pubDate>
		<dc:creator>Carlos Serrao</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[macosx]]></category>

		<guid isPermaLink="false">http://carlosserrao.allofads.com/index.php/instalar-ambiente-xamp-no-leopard/</guid>
		<description><![CDATA[Para todos aqueles que resolveram instalar o Mac OS X 10.5 Leopard, e que pretendem fazer desenvolvimento num ambiente Apache, MySQL e PHP, é necessário proceder a algumas configurações específicas.

O Leopard já traz por defeito o Apache2 e o PHP 5.2.4, no entanto é necessário activá-lo.

No seguinte site é possível perceber como activar o ambiente [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Para todos aqueles que resolveram instalar o <strong>Mac OS X 10.5 Leopard</strong>, e que pretendem fazer desenvolvimento num ambiente <strong>Apache</strong>, <strong>MySQL</strong> e <strong>PHP</strong>, é necessário proceder a algumas configurações específicas.</p>

<p align="justify">O Leopard já traz por defeito o <strong>Apache2</strong> e o <strong>PHP 5.2.4</strong>, no entanto é necessário activá-lo.</p>

<p align="justify">No <a href="http://www.macosxhints.com/article.php?story=20071030153912813">seguinte site</a> é possível perceber como activar o ambiente xAMP no Leopard. Este <a href="http://remysharp.com/2007/10/27/lamp-in-leopard-osx-105-php5-and-apache-22/">outro site</a> traz igualmente um método alternativo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.carlosserrao.net/2007/11/instalar-ambiente-xamp-no-leopard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
