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

2019-1-15 zhulinan php开发

下例代码没使用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

 

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved