<?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>Bruno Barreto &#187; php</title>
	<atom:link href="http://www.brunobarreto.net/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brunobarreto.net</link>
	<description></description>
	<lastBuildDate>Mon, 12 Jul 2010 12:56:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Widget: Twitter no seu site</title>
		<link>http://www.brunobarreto.net/2009/09/22/widget-twitter-no-seu-site/</link>
		<comments>http://www.brunobarreto.net/2009/09/22/widget-twitter-no-seu-site/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 01:05:59 +0000</pubDate>
		<dc:creator>Bruno Barreto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.brunobarreto.net/?p=185</guid>
		<description><![CDATA[Eu desenvolvi hoje para meu blog um widget pra exibir o twitter na barra lateral. Como sou legal com todo mundo, vou disponibilizar ele para quem quiser colocar no seu site, blog, myspace ou outro lugar legal.
O widget é só um iframe. Logo, não requer muita inteligência/habilidade para instalação.
Para colocar em algum lugar, é só [...]]]></description>
			<content:encoded><![CDATA[<p>Eu desenvolvi hoje para meu blog um widget pra exibir o twitter na barra lateral. Como sou legal com todo mundo, vou disponibilizar ele para quem quiser colocar no seu site, blog, myspace ou outro lugar legal.</p>
<p>O widget é só um iframe. Logo, não requer muita inteligência/habilidade para instalação.</p>
<p>Para colocar em algum lugar, é só copiar o código a seguir substituindo &#8220;seunick&#8221; pelo seu nick no twitter ou algum termo que deseja buscar:</p>
<p><code>&lt;iframe border="0" src="http://api.brunobarreto.net/twitter/widget.html?q=<strong>seunick</strong>"&gt;&lt;/iframe&gt;</code></p>
<p>Para mudar altura e largura, é só seguir a especificação do iframe:</p>
<p><strong>Exemplo:</strong><br />
<code>&lt;iframe width="430" height="300" style="border:none" src="http://api.brunobarreto.net/twitter/widget.html?q=<strong>twitter+widget</strong>"&gt;&lt;/iframe&gt;</code></p>
<p><strong>Irá gerar:</strong><br />
<iframe width="430" height="300" border="0" src="http://api.brunobarreto.net/twitter/widget.html?q=twitter+widget"></iframe></p>
<p><strong>Update:</strong><br />
O código fonte! Está em php e você pode fazer <a href="http://www.brunobarreto.net/exemplos/2009/09/tweets.zip">download</a> e usar como quiser.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunobarreto.net/2009/09/22/widget-twitter-no-seu-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vigilância sanitária em PHP</title>
		<link>http://www.brunobarreto.net/2009/09/16/vigilancia-sanitaria-em-php/</link>
		<comments>http://www.brunobarreto.net/2009/09/16/vigilancia-sanitaria-em-php/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 20:33:19 +0000</pubDate>
		<dc:creator>Bruno Barreto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[filter_var]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sanitização]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[validação]]></category>

		<guid isPermaLink="false">http://www.brunobarreto.net/?p=179</guid>
		<description><![CDATA[Já parou para se perguntar o motivo pelo qual você sempre esquece de limpar os dados que os usuários digitam dentro da aplicação que você está desenvolvendo?
Limpar ou validar esses dados pode previnir e resolver dezenas de problemas. Principalmente, resolverá problemas de segurança.
Em PHP, temos várias funções nativas que ajudam a validar e sanitizar as [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_180" class="wp-caption aligncenter" style="width: 610px"><a href="http://xkcd.com/327/"><img class="size-full wp-image-180" title="Exploits of a mom" src="http://www.brunobarreto.net/exemplos/2009/09/exploits_of_a_mom.png" alt="From XKCD" width="430" height="120" /></a><p class="wp-caption-text">Do XKCD</p></div>
<p>Já parou para se perguntar o motivo pelo qual você sempre esquece de limpar os dados que os usuários digitam dentro da aplicação que você está desenvolvendo?</p>
<p>Limpar ou validar esses dados pode previnir e resolver dezenas de problemas. Principalmente, resolverá problemas de segurança.</p>
<p>Em PHP, temos várias funções nativas que ajudam a validar e sanitizar as variáveis. Uma boa função que eu raramente uso (mas vou começar a usar) é a <a href="http://br.php.net/manual/pt_BR/function.filter-var.php" target="_blank">filter_var</a>.</p>
<p>A função filter_var permite uma infinidade de validações que precisamos usar em todos os projetos. Dentre elas: validar e-mail, url, números inteiros, números decimais, remover html, remover caracteres especiais e etc.</p>
<p>A seguir mostro usos práticos de validação:</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_BOOLEAN)</code><br />
Retorna TRUE se $variavel for um valor boleano ou FALSE se não for.</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_EMAIL)</code><br />
Retorna TRUE se $variavel for um endereço de e-mail ou FALSE se não for.</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_FLOAT)</code><br />
Retorna TRUE se $variavel for um número com ponto flutuante.</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_INT)</code><br />
Retorna TRUE se $variavel for um número inteiro.</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_IP)</code><br />
Retorna TRUE se $variavel for um número IP.</p>
<p><code>filter_var($variavel,FILTER_VALIDATE_URL)</code><br />
Retorna TRUE se $variavel for uma URL válida (não necessariamente precisa existir).</p>
<p>Os códigos mostrados acima, simplesmente validam a informação passada. Eles não alteram nada na variável. Diferentemente do que mostrarei a seguir, que são funções de sanitização da variável:</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_STRING)</code><br />
Remove códigos HTML e caracteres inválidos</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_ENCODED)</code><br />
Codifica $variavel de acordo com a <a href="http://www.ietf.org/rfc/rfc1738.txt" target="_blank">RFC 1738</a></p>
<p><code>filter_var($variavel,FILTER_SANITIZE_SPECIAL_CHARS)</code><br />
Converte caracteres especiais de HTML como aspas, &#8220;e&#8221; comercial em códigos HTML padronizados.</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_EMAIL)</code><br />
Remove caracteres que um endereço de e-mail não pode conter. É interessante usar esta função após validar com o FILTER_VALIDATE_EMAIL.</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_URL)</code><br />
Remove caracters que não são permitidas em uma URL. É interessante usar esta função após validar com oFILTER_VALIDADE_URL.</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_NUMBER_INT)</code><br />
Remove pontos, vírgulas e outros caracteres, deixando somente os números. Ex.: 1a2b3c =&gt; 123</p>
<p><code>filter_var($variavel,FILTER_SANITIZE_NUMBER_FLOAT)</code><br />
Remove pontos, vírgulas e outros caracteres, deixando somente os números.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunobarreto.net/2009/09/16/vigilancia-sanitaria-em-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>select * from internet: Yahoo! Query Language</title>
		<link>http://www.brunobarreto.net/2009/08/29/select-from-internet-yahoo-query-language/</link>
		<comments>http://www.brunobarreto.net/2009/08/29/select-from-internet-yahoo-query-language/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 02:18:54 +0000</pubDate>
		<dc:creator>Bruno Barreto</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://www.brunobarreto.net/?p=167</guid>
		<description><![CDATA[A internet virou um banco de dados. Há um tempo, não tenho certeza quanto, mas faz mais de um ano, a Yahoo! lançou um produto chamado YQL (Yahoo! Query Language). O YQL é um webservice que permite fazer &#8216;queries&#8217; em qualquer tipo de banco de dados aberto na web. É possível até fazer queries dentro [...]]]></description>
			<content:encoded><![CDATA[<p>A internet virou um banco de dados. Há um tempo, não tenho certeza quanto, mas faz mais de um ano, a Yahoo! lançou um produto chamado YQL (Yahoo! Query Language). O YQL é um webservice que permite fazer &#8216;queries&#8217; em qualquer tipo de banco de dados aberto na web. É possível até fazer queries dentro de páginas XHTML.</p>
<p>Com uma sintaxe muito similar ao SQL, podemos usar o YQL para pré-processar feeds de blogs, arquivos XML e outras fontes de dados disponíveis na Internet.</p>
<p>Para acessar o console de testes, entre em: <a href="http://developer.yahoo.com/yql/console" target="_blank">http://developer.yahoo.com/yql/console</a> (é necessário possuir uma Yahoo! Conta).</p>
<p>Disponibilizo para download um arquivo compactado com um script em PHP com um exemplo do YQL. Nele, há um formulário onde deve ser digitado um nome de uma cidade e com duas queries simples, pegaremos a previsão do tempo naquela cidade. A previsão é fornecida pelo Weather Channel.</p>
<p><a href="http://www.brunobarreto.net/exemplos/2009/08/yql_previsao.zip">Clique aqui e faça o download do script</a> ou <a href="http://www.brunobarreto.net/exemplos/2009/08/yql_previsao.php">teste ele online</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunobarreto.net/2009/08/29/select-from-internet-yahoo-query-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consumindo um XML usando PHP</title>
		<link>http://www.brunobarreto.net/2009/02/28/consumindo-um-xml-usando-php/</link>
		<comments>http://www.brunobarreto.net/2009/02/28/consumindo-um-xml-usando-php/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 03:36:00 +0000</pubDate>
		<dc:creator>Bruno Barreto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.brunobarreto.net/?p=13</guid>
		<description><![CDATA[Muita gente me pergunta qual é a forma mais simples de se consumir um arquivo XML usando PHP. Geralmente respondo para a pessoa que ela deve utilizar o simplexml para fazer isso. Para não deixar dúvidas, resolvi criar um exemplo simples de como consumir um arquivo RSS de notícias.Veja a seguir o código comentado:
&#60;?php

//vamos consumir [...]]]></description>
			<content:encoded><![CDATA[<p>Muita gente me pergunta qual é a forma mais simples de se consumir um arquivo XML usando PHP. Geralmente respondo para a pessoa que ela deve utilizar o <a title="documentação do simplexml" href="http://br2.php.net/simplexml" target="_blank"><code>simplexml</code></a> para fazer isso. Para não deixar dúvidas, resolvi criar um exemplo simples de como consumir um arquivo RSS de notícias.<span id="more-13"></span>Veja a seguir o código comentado:</p>
<pre lang="php" escaped="true" line="1">&lt;?php

//vamos consumir o rss 'Folha em cima da hora'
$url = "http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml";

//carrego o XML usando o simplexml
$xml = simplexml_load_file($url);

//faço um loop dentro do nó 'channel' para pegar cada 'item' do RSS
foreach ($xml-&gt;channel-&gt;item as $item) {
//imprimo um parágrafo com um link incluindo o titulo da noticia
echo "&lt;p&gt;&lt;a href="{$item-&gt;link}"&gt;{$item-&gt;title}&lt;/a&gt;&lt;/p&gt;";
}

?&gt;</pre>
<p><a href="http://www.brunobarreto.net/exemplos/xml.php">Veja o código acima rodando</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunobarreto.net/2009/02/28/consumindo-um-xml-usando-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
