MySQL-mysql_real_escape_string可以防mysql注入吗?
这里不讨论xss和其他安全漏洞,只考虑mysql注入一种情况。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这里不讨论xss和其他安全漏洞,只考虑mysql注入一种情况。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
绝对可以,没问题摸摸大
你好题主,我来回答一下这个问题。
首先,PHP语言,不做预处理查询来进行Mysql拼接的话,我们使用mysql_real_escape_string()、addslashes()等函数需要注意几个问题。
1、这些函数过滤哪些值?
mysql_real_escape_string():
x00
n
r
'
"
x1a
addslashes():
单引号(')
双引号(")
反斜杠()
NULL
此时,我们注意到了有共同之处,都过滤了
'
"
于是,我们要注意以下几点:
PHP自拼接Mysql语句,使用上述函数对入库参数进行过滤时,一定要把入库的参数进行单撇号'""' 过滤,例如:
$sql = "SELECT * FROM users WHERE user='" . $user . "' AND password='" . $pwd . "'";
数据库格式一定要是utf8,否则很可能因为网页和数据库编码格式不统一造成过滤逃逸问题。
谢谢。