可预防数据库攻击的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
« 绕过某防跨站表单提交的方法
|
数据库的锁机制»