可能重复:
Best way to defend against mysql injection and cross site scripting
How to include a PHP variable inside a mysql insert statement
我想知道是否有人在从密码字段获取文本时遇到stripslashes语句,并且在这种情况下是否有任何方法可以执行SQL注入?
即。在PHP语言中,您可以从网站的密码字段中获取文本,并通过stripslashes语句传递它以删除任何(')所以(' OR 1=1 --
)变为(OR 1=1
)。并且很难做到SQL注入。
答案 0 :(得分:3)
stripslashes
从数据中删除斜杠(\
),它们是转义字符,而不是引号('
)。如果有的话,它的使用将增加存在SQL注入漏洞的可能性。
答案 1 :(得分:1)
stripslashes不应该用于密码。因为它可能会剥离用户有意输入的斜杠。根据您使用的rdbms防止sql注入转义。这将确保您输入完全相同的字符串用户输入但转义,因此不会发生SQL注入。
对于mysql使用mysql_real_escape_string
另一个更好的选择是使用预准备语句。它在所有最近的PHP数据库驱动程序中都可用。通用算法是