php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
php防止SQL注入攻击一般有三种方法:
- 使用mysql_real_escape_string函数
- 使用addslashes函数
- 使用mysql bind_param()
本文章向大家详细介绍这三个方法在防止SQL注入攻击中的效果及区别。
mysql_real_escape_string防sql注入攻击
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
在有些时候需要将mysql_real_escape_string与mysql_set_charset一起使用,因为如果不指定编码,可能会存在字符编码绕过mysql_real_escape_string函数的漏洞,比如:
$name=$_GET['name']; $name=mysql_real_escape_string($name); $sql="select *from table where name like '%$name%'";
当输入name值为name=41