温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中常用函数的漏洞有什么

发布时间:2021-06-18 16:36:22 来源:亿速云 阅读:149 作者:chen 栏目:编程语言

本篇内容主要讲解“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;
?>

代码结果如下:

PHP中常用函数的漏洞有什么

然后我们使用extract函数,然后我们定义一个数组,默然情况下是会覆盖当前覆盖表中的变量,也就意味着我们刚刚写的《好久不见》会被覆盖掉,代码如下:

<?php
$name = '好久不见';
extract(array('name'=>'再见'));
echo $name;
?>

代码结果如下:

PHP中常用函数的漏洞有什么

到此,相信大家对“PHP中常用函数的漏洞有什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI