0

例如,当在文本字段中键入 ' 时,PHP 会在其前面放置一个 \。

我正在使用以下内容进行过滤:

$comment_body = $_POST['comment_body'];
$comment_body = nl2br(htmlspecialchars($comment_body));
$comment_body = mysqli_real_escape_string($db_conx,$comment_body); 

如何阻止此斜线出现?

4

3 回答 3

1

您应该对上下文使用消毒:

保存到数据库时,仅使用mysqli_real_escape_string()。将变量输出到 HTML 时,只需使用htmlspecialchars()即可。

自动添加斜线可能是由于magic_quotes_gpc的设置,它已在较新版本的 PHP 中被删除,但您可以在phpinfo() 中检查您的设置;

于 2013-08-03T20:50:12.157 回答
0

这就是 mysqli_real_escape_string 所做的。这应该只在将数据放入数据库时​​使用。如果您要输出 $comment_body ,只需离开代码段的最后一行。如果您发生双重转义,则可能是 魔术引号配置指令的结果。

于 2013-08-03T20:46:44.577 回答
0

这可能是因为你有魔术引号:magic_quotes_gpc 如果是这种情况,你可以使用它禁用

于 2013-08-03T20:50:52.237 回答