防止sql注入代码:(1)修改php.ini magic_quotes_gpc=Off,打开开关,不常用;
(2)获取到参数后,调用$username = addslashes($username);
说明:string addslashes ( string $str ) 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线()与 NUL( NULL 字符)。 举例:用户在name中输入' or 1=1#,其中#是sql中的注释,#会过滤sql中的where校验等,而or 1=1恒真,就会造成返回所有用户列表。
(3)mysql_escape_string();原理和(2)差不多;
总结:
登录防sql注入的方法: 1、修改php.ini配置文件中magic_quotes_gpc=On (用单引号引用用户输入的数据)(不实用)
2、使用函数addSlashes() (在预定义字符之前添加反斜杠)
3、使用mysql_escape_string() (在SQL语句特殊字符前添加反斜杠)
来源:https://www.imooc.com/video/2754