防止SQL注入:

1、转义

1.1对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换

1.2转义函数

 

mysql_real_escape_string-->>>>该函数通过转义字符串,实现了过滤无效化(消毒)的功能,可以避免sql注入

 

 

addslashes--->>>addslashes— 使用反斜线引用字符串,返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NULNULL 字符)。实际就是转义。

 

 

2sql语句预编译和绑定变量

即预先就对原句进行了语法分析,生成执行计划,无论后面你输入什么,都不会被当做SQL命令执行,只会被当做字符串,因为后面输入的sql语句(order by)没有经过预编译,故无法执行;

 

3、确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。 

 

4、数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。

猜你喜欢

转载自blog.csdn.net/u012991692/article/details/80784230