84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
这里不讨论xss和其他安全漏洞,只考虑mysql注入一种情况。
光阴似箭催人老,日月如移越少年。
你好题主,我来回答一下这个问题。
首先,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,否则很可能因为网页和数据库编码格式不统一造成过滤逃逸问题。
谢谢。
绝对可以,没问题摸摸大
你好题主,我来回答一下这个问题。
首先,PHP语言,不做预处理查询来进行Mysql拼接的话,我们使用mysql_real_escape_string()、addslashes()等函数需要注意几个问题。
1、这些函数过滤哪些值?
mysql_real_escape_string():
\x00
\n
\r
\
'
"
\x1a addslashes():
单引号(')
双引号(")
反斜杠(\)
NULL
此时,我们注意到了有共同之处,都过滤了
'
"
\
于是,我们要注意以下几点:
PHP自拼接Mysql语句,使用上述函数对入库参数进行过滤时,一定要把入库的参数进行单撇号'""' 过滤,例如:
数据库格式一定要是utf8,否则很可能因为网页和数据库编码格式不统一造成过滤逃逸问题。
谢谢。
绝对可以,没问题摸摸大