0
我通过PDO准备语句将我的输入放入mySQL中,并使用htmlspecialchars()将其放入我的PHP网站以防止XSS。唯一的问题是现在我在网页上向用户发送任何引号之前的斜线,它只会在我将其上传到服务器时发生。从未在我的本地主机上发生。为什么htmlspecialchars在我的网页上添加斜杠?
这是怎么发生的?
我通过PDO准备语句将我的输入放入mySQL中,并使用htmlspecialchars()将其放入我的PHP网站以防止XSS。唯一的问题是现在我在网页上向用户发送任何引号之前的斜线,它只会在我将其上传到服务器时发生。从未在我的本地主机上发生。为什么htmlspecialchars在我的网页上添加斜杠?
这是怎么发生的?
服务器启用了魔术引号?
尝试在PHP这条线,找出:
if(get_magic_quotes_gpc())
echo "Magic quotes are enabled";
else
echo "Magic quotes are disabled";
如果已启用,您可以使用stripslashes
将其删除。
已检查,禁用了魔术引号 – JoeCortopassi 2010-06-12 22:03:29
您确定它是htmlspecialchars?你有没有检查过输出(或没有)该函数调用?它可能是由一些SQL转义引起的 – 2010-06-12 22:09:54
不要使用任何SQL转义。一切都通过PDO放入数据库中,所以我不需要 – JoeCortopassi 2010-06-12 22:15:29