<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comentários sobre: PHP: Função Anti-SQL Injection</title>
	<atom:link href="http://www.webartz.com.br/php/php-funcao-anti-sql-injection/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/</link>
	<description>Onde a WEB encontra a ARTE</description>
	<lastBuildDate>Fri, 10 Feb 2012 00:22:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Rodrigo Luis</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-2005</link>
		<dc:creator>Rodrigo Luis</dc:creator>
		<pubDate>Sun, 11 Dec 2011 21:51:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-2005</guid>
		<description>Olá FranChasing,

Bom, em primeiro lugar explique melhor qual o problema que você está tendo para que eu possa entender.
Mas de cara já vi que possivelmente você está tendo problemas por usar uma variável simples definida num arquivo de include para tabelas, se quiser usar assim, o ideal seria utilizar CONSTANTES, e outra, variáveis recebidas por POST ou GET para usar em querys no banco devem ser passadas antes numa função de SQL Injection como essa que está disponível aqui no artigo.</description>
		<content:encoded><![CDATA[<p>Olá FranChasing,</p>
<p>Bom, em primeiro lugar explique melhor qual o problema que você está tendo para que eu possa entender.<br />
Mas de cara já vi que possivelmente você está tendo problemas por usar uma variável simples definida num arquivo de include para tabelas, se quiser usar assim, o ideal seria utilizar CONSTANTES, e outra, variáveis recebidas por POST ou GET para usar em querys no banco devem ser passadas antes numa função de SQL Injection como essa que está disponível aqui no artigo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: FranChasing</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-2004</link>
		<dc:creator>FranChasing</dc:creator>
		<pubDate>Sun, 11 Dec 2011 16:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-2004</guid>
		<description>Olá, galera !

Estou com problemas de sql injection e não estou conseguindo resolver, gostaria de contar com ajuda de vocês !

Por favor, acessem estes dois links e vejam onde aplicar a vacina contra o sql injection.

http://www.sindsasc.org/protecao/conexao.txt
http://www.sindsasc.org/protecao/exibe_agenda.txt

Muito grato !!!</description>
		<content:encoded><![CDATA[<p>Olá, galera !</p>
<p>Estou com problemas de sql injection e não estou conseguindo resolver, gostaria de contar com ajuda de vocês !</p>
<p>Por favor, acessem estes dois links e vejam onde aplicar a vacina contra o sql injection.</p>
<p><a href="http://www.sindsasc.org/protecao/conexao.txt" rel="nofollow">http://www.sindsasc.org/protecao/conexao.txt</a><br />
<a href="http://www.sindsasc.org/protecao/exibe_agenda.txt" rel="nofollow">http://www.sindsasc.org/protecao/exibe_agenda.txt</a></p>
<p>Muito grato !!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: b</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1808</link>
		<dc:creator>b</dc:creator>
		<pubDate>Thu, 07 Apr 2011 12:21:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1808</guid>
		<description>Só pra acrescentar aqui.
Vocês não precisam chamar esta função cada vez que há um input. Isso dá um trabalho do cão.

Utilize um require_once() para incluir a função em todas as páginas do site.

Em seguida, basta limpar todo input usando:

$_POST = anti_injection($_POST);
$_REQUEST = anti_injection($_REQUEST);
$_COOKIE = anti_injection($_COOKIE);
$_SESSION = anti_injection($_SESSION);

Muito mais simples né?
Outra coisa interessante é o uso do PDO para manipular a base de dados.

Espero ter contribuído.</description>
		<content:encoded><![CDATA[<p>Só pra acrescentar aqui.<br />
Vocês não precisam chamar esta função cada vez que há um input. Isso dá um trabalho do cão.</p>
<p>Utilize um require_once() para incluir a função em todas as páginas do site.</p>
<p>Em seguida, basta limpar todo input usando:</p>
<p>$_POST = anti_injection($_POST);<br />
$_REQUEST = anti_injection($_REQUEST);<br />
$_COOKIE = anti_injection($_COOKIE);<br />
$_SESSION = anti_injection($_SESSION);</p>
<p>Muito mais simples né?<br />
Outra coisa interessante é o uso do PDO para manipular a base de dados.</p>
<p>Espero ter contribuído.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rodrigo Luis</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1376</link>
		<dc:creator>Rodrigo Luis</dc:creator>
		<pubDate>Tue, 11 May 2010 20:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1376</guid>
		<description>Olá Leandro,
Verifique seu código, pois o mesmo tem erros de script, exemplo, tem um while pela metade, sem o resto das especificações, tem a abertura da tag de script php no meio de um script, bem proximos a linha 51 que você reportou o problema.</description>
		<content:encoded><![CDATA[<p>Olá Leandro,<br />
Verifique seu código, pois o mesmo tem erros de script, exemplo, tem um while pela metade, sem o resto das especificações, tem a abertura da tag de script php no meio de um script, bem proximos a linha 51 que você reportou o problema.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: leandro</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1375</link>
		<dc:creator>leandro</dc:creator>
		<pubDate>Tue, 11 May 2010 19:28:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1375</guid>
		<description>rodrigo to usando seu cod anti injection e to recebendo o erro Fatal error: Call to undefined function anti_sql() in C:wampwwwsitioadmverifica.php  on line 51



&lt;?
function anti_sql($texto){
	// Lista de palavras para procurar
	$check[1] = chr(34); // símbolo &quot;
	$check[2] = chr(39); // símbolo &#039;
	$check[3] = chr(92); // símbolo /
	$check[4] = chr(96); // símbolo `
	$check[5] = &quot;drop table&quot;;
	$check[6] = &quot;update&quot;;
	$check[7] = &quot;alter table&quot;;
	$check[8] = &quot;drop database&quot;;	
	$check[9] = &quot;drop&quot;;
	$check[10] = &quot;select&quot;;
	$check[11] = &quot;delete&quot;;
	$check[12] = &quot;insert&quot;;
	$check[13] = &quot;alter&quot;;
	$check[14] = &quot;destroy&quot;;
	$check[15] = &quot;table&quot;;
	$check[16] = &quot;database&quot;;
	$check[17] = &quot;union&quot;;
	$check[18] = &quot;TABLE_NAME&quot;;
	$check[19] = &quot;1=1&quot;;
	$check[20] = &#039;or 1&#039;;
	$check[21] = &#039;exec&#039;;
	$check[22] = &#039;INFORMATION_SCHEMA&#039;;
	$check[23] = &#039;like&#039;;
	$check[24] = &#039;COLUMNS&#039;;
	$check[25] = &#039;into&#039;;
	$check[26] = &#039;VALUES&#039;;
	
	// Cria se as variáveis $y e $x para controle no WHILE que fará a busca e substituição
	$y = 1;
	$x = sizeof($check);
	// Faz-se o WHILE, procurando alguma das palavras especificadas acima, caso encontre alguma delas, este script substituirá por um espaço em branco &quot; &quot;.
	while($y 

&lt;?php

$apelido = anti_sql($_POST[&quot;apelido&quot;]);
$senha = anti_sql($_POST[&quot;senha&quot;]);

$selecao = mysql_query(&quot;SELECT * FROM admin WHERE apelido = &#039;$apelido&#039; AND senha = &#039;$senha&#039; &quot;) or die (mysql_error()); 

$row = mysql_fetch_array($selecao);

if ($row == &quot;&quot;)
{
	echo &quot;apelido e/ou senha inválidos.&quot;;
	echo &quot;&quot;;
	echo &quot;Voltar&quot;;
exit;
}
else
{
  session_start();

  $_SESSION[&quot;apelido&quot;] = $apelido;

  header (&quot;location:index.php&quot;);
}

mysql_close($conexao);
?&gt;</description>
		<content:encoded><![CDATA[<p>rodrigo to usando seu cod anti injection e to recebendo o erro Fatal error: Call to undefined function anti_sql() in C:wampwwwsitioadmverifica.php  on line 51</p>
<p>&lt;?<br />
function anti_sql($texto){<br />
	// Lista de palavras para procurar<br />
	$check[1] = chr(34); // símbolo &quot;<br />
	$check[2] = chr(39); // símbolo &#039;<br />
	$check[3] = chr(92); // símbolo /<br />
	$check[4] = chr(96); // símbolo `<br />
	$check[5] = &quot;drop table&quot;;<br />
	$check[6] = &quot;update&quot;;<br />
	$check[7] = &quot;alter table&quot;;<br />
	$check[8] = &quot;drop database&quot;;<br />
	$check[9] = &quot;drop&quot;;<br />
	$check[10] = &quot;select&quot;;<br />
	$check[11] = &quot;delete&quot;;<br />
	$check[12] = &quot;insert&quot;;<br />
	$check[13] = &quot;alter&quot;;<br />
	$check[14] = &quot;destroy&quot;;<br />
	$check[15] = &quot;table&quot;;<br />
	$check[16] = &quot;database&quot;;<br />
	$check[17] = &quot;union&quot;;<br />
	$check[18] = &quot;TABLE_NAME&quot;;<br />
	$check[19] = &quot;1=1&quot;;<br />
	$check[20] = &#039;or 1&#039;;<br />
	$check[21] = &#039;exec&#039;;<br />
	$check[22] = &#039;INFORMATION_SCHEMA&#039;;<br />
	$check[23] = &#039;like&#039;;<br />
	$check[24] = &#039;COLUMNS&#039;;<br />
	$check[25] = &#039;into&#039;;<br />
	$check[26] = &#039;VALUES&#039;;</p>
<p>	// Cria se as variáveis $y e $x para controle no WHILE que fará a busca e substituição<br />
	$y = 1;<br />
	$x = sizeof($check);<br />
	// Faz-se o WHILE, procurando alguma das palavras especificadas acima, caso encontre alguma delas, este script substituirá por um espaço em branco &quot; &quot;.<br />
	while($y </p>
<p>&lt;?php</p>
<p>$apelido = anti_sql($_POST[&quot;apelido&quot;]);<br />
$senha = anti_sql($_POST[&quot;senha&quot;]);</p>
<p>$selecao = mysql_query(&quot;SELECT * FROM admin WHERE apelido = &#039;$apelido&#039; AND senha = &#039;$senha&#039; &quot;) or die (mysql_error()); </p>
<p>$row = mysql_fetch_array($selecao);</p>
<p>if ($row == &quot;&quot;)<br />
{<br />
	echo &quot;apelido e/ou senha inválidos.&#8221;;<br />
	echo &#8220;&#8221;;<br />
	echo &#8220;Voltar&#8221;;<br />
exit;<br />
}<br />
else<br />
{<br />
  session_start();</p>
<p>  $_SESSION["apelido"] = $apelido;</p>
<p>  header (&#8220;location:index.php&#8221;);<br />
}</p>
<p>mysql_close($conexao);<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: rubson</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1371</link>
		<dc:creator>rubson</dc:creator>
		<pubDate>Fri, 07 May 2010 14:03:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1371</guid>
		<description>trabalho na area técnica de projeto.
alguém usa o qcad ? 
eu o utilizo a um bom tempo no linux
gostaria de trocar impressões.
ok.</description>
		<content:encoded><![CDATA[<p>trabalho na area técnica de projeto.<br />
alguém usa o qcad ?<br />
eu o utilizo a um bom tempo no linux<br />
gostaria de trocar impressões.<br />
ok.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rodrigo Luis</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1254</link>
		<dc:creator>Rodrigo Luis</dc:creator>
		<pubDate>Mon, 26 Apr 2010 12:10:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1254</guid>
		<description>Parabéns Luiz,

Excelente função anti sql-injection.</description>
		<content:encoded><![CDATA[<p>Parabéns Luiz,</p>
<p>Excelente função anti sql-injection.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: luiz</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-1253</link>
		<dc:creator>luiz</dc:creator>
		<pubDate>Mon, 26 Apr 2010 05:01:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-1253</guid>
		<description>&lt;code&gt;
function anti_injection($sql)
{
// remove palavras que contenham sintaxe sql
$sql = preg_replace(sql_regcase(&quot;/(from&#124;select&#124;insert&#124;delete&#124;where&#124;drop table&#124;show tables&#124;#&#124;\*&#124;--&#124;\\\\)/&quot;),&quot;&quot;,$sql);
$sql = trim($sql);//limpa espaços vazio
$sql = strip_tags($sql);//tira tags html e php
$sql = addslashes($sql);//Adiciona barras invertidas a uma string
return $sql;
}

//modo de usar pegando dados vindos do formulario
$nome = anti_injection($_POST[&quot;nome&quot;]);
$senha = anti_injection($_POST[&quot;senha&quot;]);

?&gt;
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">function anti_injection($sql)<br />
{<br />
// remove palavras que contenham sintaxe sql<br />
$sql = preg_replace(sql_regcase(&quot;/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/&quot;),&quot;&quot;,$sql);<br />
$sql = trim($sql);//limpa espaços vazio<br />
$sql = strip_tags($sql);//tira tags html e php<br />
$sql = addslashes($sql);//Adiciona barras invertidas a uma string<br />
return $sql;<br />
}<br />
<br />
//modo de usar pegando dados vindos do formulario<br />
$nome = anti_injection($_POST[&quot;nome&quot;]);<br />
$senha = anti_injection($_POST[&quot;senha&quot;]);<br />
<br />
?&amp;gt;</div></td></tr></tbody></table></div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rodrigo Luis</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-463</link>
		<dc:creator>Rodrigo Luis</dc:creator>
		<pubDate>Mon, 20 Jul 2009 14:17:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-463</guid>
		<description>Olá Luciano, para utilizar o script, você deve seguir o modelo de exemplo que está no script.</description>
		<content:encoded><![CDATA[<p>Olá Luciano, para utilizar o script, você deve seguir o modelo de exemplo que está no script.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: luciano</title>
		<link>http://www.webartz.com.br/php/php-funcao-anti-sql-injection/#comment-441</link>
		<dc:creator>luciano</dc:creator>
		<pubDate>Sat, 18 Jul 2009 02:53:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.webartz.com.br/?p=287#comment-441</guid>
		<description>Eu fiz download do arquivo. Agora gostaria de saber como colocar na prática? e que sou inciante em programação para web, e meu site ja foi invadido por sql injection.</description>
		<content:encoded><![CDATA[<p>Eu fiz download do arquivo. Agora gostaria de saber como colocar na prática? e que sou inciante em programação para web, e meu site ja foi invadido por sql injection.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

