sql >> Base de Datos >  >> RDS >> Mysql

Inyecciones de SQL en ADOdb y seguridad general del sitio web

Los ataques de inyección SQL ocurren cuando la entrada del usuario está mal codificado. Por lo general, la entrada del usuario son algunos datos que el usuario envía con su consulta, es decir, valores en el $_GET , $_POST , $_COOKIE , $_REQUEST o $_SERVER arreglos Sin embargo, la entrada del usuario también puede provenir de una variedad de otras fuentes, como sockets, sitios web remotos, archivos, etc. Por lo tanto, realmente debe tratar todo menos las constantes. (como 'foobar' ) como entrada del usuario .

En el código que publicaste, mysql_real_escape_string se utiliza para codificar (=escapar) las entradas del usuario. Por lo tanto, el código es correcto, es decir, no permite ningún ataque de inyección SQL.

Tenga en cuenta que es muy fácil olvidar la llamada a mysql_real_escape_string ¡Y una vez es suficiente para un atacante hábil! Por lo tanto, es posible que desee utilizar el moderno PDO con declaraciones preparadas en lugar de adob.