加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – var_dump或print_r和html编码

发布时间:2020-12-13 13:04:29 所属栏目:PHP教程 来源:网络整理
导读:?php $x = array("b","i","b","i","h1hello/h1");print_r ($x);echo "hr";var_dump ($x); 在html源代码输出! Array( [0] = b [1] = i [2] = b [3] = i [4] = h1hello/h1)hrarray(5) { [0]= string(3) "b" [1]= string(3) "i" [2]= string(1) "b" [3]= strin
<?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中运行良好

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读