我正在使用 PHP 5.3.6 并使用 HTML 实体对一些 POST 数据进行编码。但是,括号和 % 并未编码为它们的等效实体。
网络安全团队告诉我们,必须对这些字符进行编码,因为它们可能被用于 XSS 攻击。
正在发布的数据:
paren ( ) & % won't encode
htmlentities($_POST['first_name'], ENT_QUOTES, "UTF-8");
输出:
paren ( ) & % won't encode
如您所见, ( ) % 未触及。
提前致谢。
-编辑-这就是我最终使用的完成这项工作的东西。谢谢。
function stripcustomchars($encode_chars) {
$searches = array('%','(',')');
$replacements = array("%","(",")");
$encoded = str_replace($searches, $replacements,$encode_chars);
return $encoded;
}