Hoje neste mini tutorial vou trazer uma dica de SQL Injection. Esta dica foi passada para mim pelo meu amigo Rodolfo Silva e visitante do Blog. Esta maneira além de ser usado para SQL Injection pode-se reaproveitar a técnica em outras ocasiões.
O conceito é simples, ele vai pegar toda o array $_POST ou $_GET e passar por ele e ir escapando e salvando com o mesmo nome.
E não ocorre nenhum problema se você deixar este código sendo executado todas as vezes.
No meu caso eu utilizei da seguinte forma. Eu sempre crio um arquivo de startUp.php e neste arquivo eu incluo a conexão com o Banco de Dados e após isto eu coloco o código proteção contra SQL Injection.
E chamo este startUp.php em todas as paginas.
O script PHP que faz isto é este:
foreach($_POST as $key => $value){
$_POST[$key] = mysql_real_escape_string($value);
}
foreach($_GET as $key => $value){
$_GET[$key] = mysql_real_escape_string($value);
}
OBS: Para utilizar este código tem que estar estabelecido
Neste exemplo utilizamos a função foreach que faz um loop passando por todos os itens de um array. A função foreach foi demonstrada na vídeo aula Curso PHP – Módulo Iniciante – Aula 03 – PHP Array.
Agora vou criar uma situação comum na vida dos usuários.
Vamos imagina que você esta tendo problema de codificação de acentos no seu site. Problemas comuns com a compatibilidade de UTF-8 ou ISO-8859-1.
A solução comum dos usuários é utilizar o seguinte script PHP.
$nome = utf8_encode($_POST['nome']); $sobrenome = utf8_encode($_POST['sobrenome']); $assunto = utf8_encode($_POST['assunto']);
Outro exemplo de script PHP comum na hora de exibir o texto na tela.
echo utf8_encode($registro['nome']); echo utf8_encode($registro['sobrenome']); echo utf8_encode($registro['assunto']);
Para resolver estes problemas de uma forma mais rápida, pode-se utilizar.
foreach($_POST as $key => $value){
$_POST[$key] = utf8_encode($value);
}
/*ou*/
foreach($registro as $key => $value){
$registro[$key] = utf8_encode($value);
}
Espero que eu tenha ajudado a vocês com este mini tutorial.
Ola Luiz Obrigado por Postar o Código que te mandei e até o negocio que você falou que ia me manda?
Show de Bola a Postagem valeu….
Brigadão mano
valeu