我有一个庞大的系统,出于安全考虑,我想对所有htmlspecialchars
和$_GET
变量进行$_POST
。问题是会有重复的htmlspecialchars
而不是<script>
会显示
<script></script>
有没有办法将double_encode设置为默认值而不是true?
答案 0 :(得分:0)
您可以重写该函数并将double_encode
参数设置为false作为默认值。
以下是示例代码:
<?php
rename_function('htmlspecialchars', 'renamed_htmlspecialchars');
function overriden_htmlspecialchars($string, $flags=NULL, $encoding='cp1251', $double_encode=false) {
$flags = $flags ? $flags : (ENT_COMPAT|ENT_HTML401);
return renamed_htmlspecialchars($string, $flags, $encoding, $double_encode);
}
override_function('htmlspecialchars', '$string, $flags, $encoding, $double_encode', 'return overriden_htmlspecialchars($string, $flags, $encoding, $double_encode);');
?>