Anti SQL injection 06.09.11 14:35
Uma das técnicas de fraude mais conhecida pelos desenvolvedores web é a SQL Injection. Trata-se da manipulação de uma instrução SQL através das variáveis quem compõem os parâmetros recebidos por um script server-side, tal como PHP, ASP, ColdFusion e outros.
O principal motivo pelo qual deve-se impossibilitar a utilização da SQL Injection está no fato de que, através de uma simples instrução SQL, como por exemplo, uma projeção de dados, outras operações podem ser executadas, podendo impactar sobre o esquema das tabelas, os dados armazenados, e até mesmo sobre elementos do sistema operacional, tendo em vista que alguns bancos de dados permitem a execução de comandos do shell do próprio sistema operacional.
Ex de vulnerabilidade de um sistema:
- Código:
<?php
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$query_string ="SELECT * FROM usuarios
WHERE codigo = '($usuario)' AND senha ='($senha)'";
?>
Estas formas de post são vulneráveis a ataques se não estiverem fechadas corretamente, comandos como ' or 1='1 e entre vários outros poderão ser usados para realizar alterações em seu banco de dados. Já fui atacado umas 2 vezes desta forma, então resolvi codificar um script simples pra evitar este tipo de coisa.
São 3 arquivos em extensão (.php) que não são necessárias de configuração apenas coloque no diretório raiz do seu web site.
Download dos arquivos ~> Clique aqui
*Obs: Não retire os créditos dos arquivos, se for postar em outro lugar deixe os devidos créditos.
# Créditos:
~ Bitt (Codificar & Desenvolver os arquivos php)
~ imasters (Artigo sobre SQL Injection)