Php 为什么htmlspecialchars会在我的网页上添加斜杠?

Php 为什么htmlspecialchars会在我的网页上添加斜杠?,php,mysql,pdo,htmlspecialchars,Php,Mysql,Pdo,Htmlspecialchars,我通过PDO准备的语句将输入放入mySQL,并使用HTML SpecialChars()将其放入我的网站中,以防XSS攻击。唯一的问题是现在我得到了斜杠,在任何引用之前,用户可以在网页上看到这些斜杠只有当我将其上传到服务器时才会发生。在我的本地主机上从未发生过 为什么会发生这种情况?服务器启用了魔法引号 在PHP中尝试这一行以了解: if(get_magic_quotes_gpc()) echo "Magic quotes are enabled"; else echo "Mag

我通过PDO准备的语句将输入放入mySQL,并使用HTML SpecialChars()将其放入我的网站中,以防XSS攻击。唯一的问题是现在我得到了斜杠,在任何引用之前,用户可以在网页上看到这些斜杠只有当我将其上传到服务器时才会发生。在我的本地主机上从未发生过


为什么会发生这种情况?

服务器启用了魔法引号

在PHP中尝试这一行以了解:

if(get_magic_quotes_gpc())
    echo "Magic quotes are enabled";
else
    echo "Magic quotes are disabled";

如果启用了它们,您可以使用
stripslashes
删除它们。

选中,则禁用神奇引号。您确定这是htmlspecialchars吗?您是否在函数调用之前(或没有)检查了输出?这可能是由某些SQL转义导致的。不要使用任何SQL转义。所有东西都是通过PDO放进数据库的,所以我不必去追踪,你是对的。检查了我的数据库,里面有斜线。这到底是怎么发生的:-/哇,谢谢你的这篇文章。你结束了我拉头发的时间。难怪他们不赞成这种可怕的功能。