本篇内容主要讲解“PHP中常用函数的漏洞有什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中常用函数的漏洞有什么”吧!
PHP中常用函数的漏洞:
extract变量覆盖漏洞
extract函数:将变量从数组导入当前符号表。在一些mvc框架中会有它的踪影
extract函数的定义: int extract(array,extract_ rules,prefix)
extract0函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。
extract_rules :
EXTR_ OVERWRITE -默认。如果有冲突,则覆盖已有的变量。
EXTR_ SKIP -如果有冲突,不覆盖已有的变量。
EXTR_ PREFIX. SAME -如果有冲突.在变量名前加上前缀prefix.
EXTR_ PREFIX. ALL -给所有变量名加上前缀prefix.
EXTR_ PREFIX. INVALID -仅在不合法或数字变量名前加上前缀prefix.
EXTR_ IF. EXISTS -仅在当前符号表中已有同名变量时.覆盖它们的值。其它的都不处理。
EXTR_PREFIX_IF _EXISTS -仅在当前符号表中已有同名变量时.建立附加了前缀的变量名其它的都不处理。
EXTR_REFS -将变量作为引用提取。导入的变量仍然引用了数组参数的值。
我们以代码为例演示extract函数对当前覆盖表的影响:
我们首先建立一个文件,比如当前覆盖表中有一个name,然后我们输出这个变量,
<?php $name = '好久不见'; echo $name; ?>
代码结果如下:
然后我们使用extract函数,然后我们定义一个数组,默然情况下是会覆盖当前覆盖表中的变量,也就意味着我们刚刚写的《好久不见》会被覆盖掉,代码如下:
<?php $name = '好久不见'; extract(array('name'=>'再见')); echo $name; ?>
代码结果如下:
到此,相信大家对“PHP中常用函数的漏洞有什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。