Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Injeções de SQL em ADOdb e segurança geral de sites


Os ataques de injeção de SQL ocorrem quando entrada do usuário está codificado incorretamente. Normalmente, a entrada do usuário são alguns dados que o usuário envia com sua consulta, ou seja, valores no arquivo $_GET , $_POST , $_COOKIE , $_REQUEST , ou $_SERVER matrizes. No entanto, a entrada do usuário também pode vir de uma variedade de outras fontes, como soquetes, sites remotos, arquivos, etc. Portanto, você deve tratar tudo menos constantes (como 'foobar' ) como entrada do usuário .

No código que você postou, mysql_real_escape_string é usado para codificar (=escape) entradas do usuário. O código está, portanto, correto, ou seja, não permite nenhum ataque de injeção de SQL.

Observe que é muito fácil esquecer a chamada para mysql_real_escape_string - e uma vez é suficiente para um atacante habilidoso! Portanto, você pode querer usar o moderno PDO com declarações preparadas em vez de adodb.