Aqui vem mais um de meus tutoriais… E hoje vamos falar sobre, como tratar sql injection, ou seja como evitar erros de sql injection permitir ataques em meu site.
Vou dar um exemplo em PHP.
1 – Uma boa forma de evitar ataques de sql injection é retirando os principais caracteres usados em ataques maliciosos.
function nosql($string){
$string      =str_replace(“‘”,”",$string);//aqui retira aspas simples <’>
$string      =str_replace(“\\”,”",$string);//aqui retira barra invertida<\\>
$string      =str_replace(“UNION”,”",$string);//aqui retiro  o comando UNION <UNION>
return $string
}
2 – Outra forma tambem bastante usada é o comando: mysql_real_escape_string
mais informações no link: http://php.net/manual/pt_BR/function.mysql-real-escape-string.php

3 – Você pode tambem criar funcoes anti-sqlinjection para numeros/codigos.
Um exemplo bom é quando você passa um codigo via GET['codid'] ou POST['codid'].
Ao receber esta variavel via get/post você pode validar si realmente é numero ou string.
Codigo:
if (is_numeric($_GET['codid'])==false) {
$cod           =get_magic_quotes_gpc() ? stripslashes($_GET['codid']) : $_GET['codid'];
   $cod = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($cod) : mysql_escape_string($cod);
$cod =(int)$cod; }else{ print 'error'; header("location:error.php"); exit; }