terça-feira, 20 de agosto de 2013

Evitando ataques sqlinjection

1 – Uma boa forma de evitar ataques de SQLInjection é 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
}


[b]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) {[/b]

$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; }

Nenhum comentário:

Postar um comentário