首页 >后端开发 >PHP问题 >PHP中常用函数的漏洞有哪些?

PHP中常用函数的漏洞有哪些?

慕斯
慕斯原创
2021-06-18 16:19:112507浏览

上篇文章给大家介绍了《PHP中如何进行文件上传?我们需要注意什么?》,本文继续给大家介绍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 = &#39;好久不见&#39;;
echo $name;
?>

代码结果如下:

14.JPG

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

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

代码结果如下:

15.JPG

推荐学习:《PHP视频教程

以上是PHP中常用函数的漏洞有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn