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

Desinfectando los parámetros de usuario de MySQL

mysql_real_escape_string() de los documentos de mysql.com:

mysql_real_escape_string() es consciente del conjunto de caracteres, por lo que replicar todas sus habilidades (especialmente contra problemas de ataques de múltiples bytes) no es una pequeña cantidad de trabajo.

De http://cognifty.com/blog.entry/id=6/ añadelashes_dont_call_it_a_comeback.html :

AS = addslashes()  
MRES = mysql_real_escape_string()
ACS = addcslashes() //called with "\\\000\n\r'\"\032%_"

Feature                                         AS     MRES    ACS
escapes quote, double quote, and backslash      yes    yes     yes
escapes LIKE modifiers: underscore, percent     no     no      yes
escapes with single quotes instead of backslash no     yes*1   no
character-set aware                             no     yes*2   no
prevents multi-byte attacks                     no     yes*3   no