我目前在我的一个项目中使用以下行:
htmlspecialchars($value,ENT_QUOTES,'UTF-8');
因此它对 &, ', ", <,> 进行编码。我的问题是(至于我正在考虑的一些内部编码原因)不编码 & 是否存在任何安全风险?因此,如果使用以下行会产生安全性风险/泄漏:
$value=str_replace('&','&',$value);
对于 <,>,'," 我非常清楚为什么应该对它们进行编码,因为它们可以用于 html 注入。但是我没有看到任何原因(到目前为止我也没有找到任何特殊原因)。
编辑:
由于多次提到数据库访问。我在那里使用带有参数的学说,......所以数据库应该(相对)从SQL注入中保存。
上述转换只是为了防止 html 注入,但目前由于大多数数据位于由 extJS 创建的字段中,......“&”转换阻碍了那里的方式,因为在文本字段&
中显示而不是&
.
可悲的是,由于架构错误,我只能在一个且只有一个位置执行整个 htmlspecialchars 和 str_replace 部分(如果我这样做的话)。我无法区分。因此,我对&
.