<?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中运行良好