分类目录php开发

可预防数据库攻击的mysql_real_escape_string函数

下例代码没使用mysql_real_escape_string()函数:

如果用户输入信息如下:
$_POST[‘user’] = “john”;
$_POST[‘pwd’] = “‘ OR ‘‘=‘”;

则SQL查询会成为这样:
SELECT * FROM users WHERE user=’john’ AND password=” OR ”=”

这意味着用户不用输入正确信息也可以通过sql的查询语句,获得相应权限。

上述代码存在着很大的安全隐患,如果改成这样,则会好很多:

mysql_real_escape_string()函数对下列字符产生影响:
● \x00
● \n
● \r
● \
● ‘
● ”
● \x1a

参考资料:http://www.w3school.com.cn/php/func_mysql_real_escape_string.asp

此例已验证。