Recentemente tive um site invadido onde o próprio invasor me enviou um e-mail mostrando alguns dados do meu banco e dizendo que poderia corrigir o problema mediante pagamento.
Fiz uma analise procurando saber como o site foi invadido. Depois de muito analizar, chego a conclusão que foi por SQL Injection.
Segue abaixo uma alternativa que evita esse tipo de ataque:
Fiz uma analise procurando saber como o site foi invadido. Depois de muito analizar, chego a conclusão que foi por SQL Injection.
Segue abaixo uma alternativa que evita esse tipo de ataque:
Primeiro crie um arquivo php com o seguinte conteúdo:
funcoes.inc.php
funcoes.inc.php
function anti_injection_post($array) {
foreach ($array as $key=>$value) {
$array[$key] = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|truncate|#|*|--|\\)/"),"",$array[$key]);
$array[$key] = trim($array[$key]);
$array[$key] = strip_tags($array[$key]);
$array[$key] = addslashes($array[$key]);
}
return $array;
}
Posteriormente nos arquivos do site onde você irá usar os arrays $_POST e $_GET use o seguinte no inicio do arquivo:
include_once('funcoes.inc.php');
$_POST = anti_injection_post($_POST);
$_GET = anti_injection_post($_GET);
. . .
Essa função evita que seja inserido instruções sql em campos ou na barra de endereço do seu site.
é isso ai…
Nenhum comentário:
Postar um comentário