<?PHP
$x = array("<b>","<i>","b","i","<h1>hello</h1>");
print_r ($x);
echo "<hr>";
var_dump ($x);
在html源代码输出!
Array
(
[0] => <b>
[1] => <i>
[2] => b
[3] => i
[4] => <h1>hello</h1>
)
<hr>array(5) {
[0]=>
string(3) "<b>"
[1]=>
string(3) "<i>"
[2]=>
string(1) "b"
[3]=>
string(1) "i"
[4]=>
string(14) "<h1>hello</h1>"
}
显然,我本可以通过XSS进行操作!
如何确保数组值是htmlencoded?
我发现knittl的代码不起作用.我不得不做一些小改动让它按如下方式工作:
array_walk_recursive($inputarray,function(&$v) { $v = htmlspecialchars($v); });
现在这在PHP5.3中运行良好