"在每个引用之前削减"问题

16 html php mysql security

我有一个包含表单的php页面.

有时这个页面会被提交给自己(就像上传图片时一样).

我不希望用户必须一次又一次地填写每个字段,因此我将其用作表单内文本输入的值:

value="<?php echo htmlentities(@$_POST['annonsera_headline'],ENT_COMPAT,'UTF-8');?>">
Run Code Online (Sandbox Code Playgroud)

这是有效的,除了它在每个双引号之前添加一个"\"符号...

例如,写入19"轮子后页面提交给自己:

  19\" wheels
Run Code Online (Sandbox Code Playgroud)

如果我甚至不使用htmlentities,那么引号之后的所有内容都会消失.

这里有什么问题?

更新:

好的,所以问题是magic_quotes ...这是在我的服务器上启用的...

我应该禁用吗?我有root访问权限,这是我的服务器:)

什么是禁用它的伤害?

Sar*_*raz 24

看起来你打开了魔术引号.使用以下条件使用stripslashes您要处理的任何文本:

if(get_magic_quotes_gpc())
{
   $your_text = stripslashes($your_text);
}
Run Code Online (Sandbox Code Playgroud)

现在你可以$your_text正常处理变量了.

更新:

魔术引号在这里开辟了.对于编写良好的代码,禁用它通常没有任何害处.