`

php的一个函数使用注意

 
阅读更多

         php中有一个函数extract(),不少人都使用过,但是这个函数时间上存在一个小小的隐患,如果使用不当可能会造成安全上的问题。

extract定义 写道
PHP extract() 函数从数组中把变量导入到当前的符号表中。

对于数组中的每个元素,键名用于变量名,键值用于变量值。

第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。

本函数返回成功设置的变量数目。

 一般第二个参数我们都会懒得设置,这样实际上存在一个变量覆盖的问题,由于这个函数的隐蔽性,很多时候我们会忽略掉它的危害性,结果就会造成黑客通过对数组元素的控制,或者说伪造,直接可以覆盖掉已经存在的某些变量,可以导致多种问题,包括本地包含漏洞,sql注入漏洞(通过这个函数很容易绕过变量检查),而且由于它的隐蔽性,很多人会忽略掉。明显的一个例子

   

乌云上的一个报告 写道
http://www.wooyun.org/bugs/wooyun-2010-03990

 就是phpcms中的这个问题,而且通过对phpcms v9代码的查阅,里面错误使用extract的地方还有很多。这是值得程序员注意的一个问题。 

分享到:
评论

相关推荐

    PHP函数 -函数的高级用法.ppt

    * PHP函数 -----函数的高级用法 课程内容 可变函数 引用函数返回值 函数的嵌套调用 函数的递归调用 回调函数 一、可变函数 一个变量的值可以为另一个变量的名称。此外,一个变量的值还可以是一个函数的名称,这就是...

    PHP函数实验报告

    它是一个没有名字的函数,常用于回调函数或需要短暂使用的简单功能: ```php $add = function($x, $y) { return $x + $y; }; echo $add(3, 4); // 输出 7 ``` 七、递归函数 递归函数是一种调用自身的函数,通常...

    PHP 文件操作函数

    在PHP编程语言中,文件操作是至关重要的一个环节,它涉及到读取、写入、创建、删除、移动和复制文件等任务。这篇博客主要探讨了PHP中的文件操作函数,通过学习这些函数,开发者可以高效地处理服务器上的文件系统。...

    (第七讲) PHP函数和自定义函数

    接下来,我们将深入探讨PHP函数的使用以及如何自定义函数。 1、PHP函数介绍 PHP内建了大量的内置函数,涵盖数组处理、字符串操作、文件系统操作、数学计算等多个方面。例如,`strlen()`用于获取字符串长度,`count...

    PHP 匿名函数与注意事项详细介绍

    PHP 匿名函数与注意事项 PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术...现在基本上都使用PHP5.3以后的版本,但是感觉普遍一个现象就是很多新特性,过了

    PHP函数执行超时控制扩展ForPHP7控制PHP函数的执行时间

    而"PHP函数执行超时控制扩展"则提供了一个更细粒度的解决方案,允许我们针对每个函数设置超时时间,甚至可以精确到毫秒。 该扩展在`call_user_func()`函数的基础上增加了超时控制功能。`call_user_func()`是一个...

    php函数手册.rar

    例如,`strlen()`接受一个字符串作为参数。 3. **返回值**:描述函数执行后返回的数据类型和含义,如`strlen()`返回的是整型数值,表示字符串的长度。 4. **函数描述**:详细解释函数的功能和用途,包括可能的使用...

    php 自写函数代码 获取关键字 去超链接

    以下是一个简单的PHP函数示例,用于从字符串中提取最常见的单词作为关键字: ```php function extractKeywords($text) { $words = preg_split('/\s+/', $text); // 使用正则表达式分词 $wordCount = array_count_...

    PHP 图形处理函数库

    示例中展示了如何使用`ImageColorAllocate`来分配白色和黑色,并提供了一个辅助函数`imagecolorallocate1`,它接受十六进制颜色值并将其转换为RGB值进行分配。 4. **ImageString函数**: `ImageString`用于在图像...

    即用即查PHP函数参考手册

    比如,`foreach`循环用于遍历数组,手册会提供一个如何使用`foreach`遍历并打印数组元素的示例。 6. **注意事项**:某些函数可能有特殊的要求或限制,如内存限制、安全问题等,手册也会特别指出。例如,`include`和...

    PHP最常用的四个ini函数

    3. **ini_get_all()**:此函数返回一个包含所有配置设置及其值的关联数组。每个配置项都有三个键:`global_value`表示全局配置值,`local_value`表示脚本级别的配置值,`access`表示配置项的访问级别。这个函数在...

    PHP操作MYSQL函数手册大全

    - **mysql_connect()**:这是PHP中用于创建一个到MySQL服务器的新连接的函数。它接受主机名、用户名和密码作为参数。如果连接成功,它将返回一个资源句柄,否则返回FALSE。例如: ```php $conn = @mysql_connect...

    php截断字符串优化函数 php截断字符串优化函数

    首先,找到字符串中的最后一个空格,然后截取到该位置。例如: ```php function truncateWithWordBoundary($str, $length) { if(strlen($str) $length) return $str; $lastSpacePos = strrpos(substr($str, 0, $...

    学习PHP收集的几个有用函数

    此函数用于将一个文件的内容转换成HTML格式并保存为新的文件。 **函数定义**: ```php function phptohtm($filefrom, $fileto, $u2u = 1) { if ($u2u == 1) { $data = PHP_Read($filefrom); } else { $data = $...

    PHP函数索引 967 个函数

    从给定的文件标题“PHP函数索引 967 个函数”和描述“php常用函数的查询,PHP函数索引 967 个函数”,我们可以看出这份文档是关于PHP编程语言中的函数大全,涵盖了967个常用的PHP函数。下面,我们将对部分列出的函数...

    即用即查PHP函数参考手册附书光盘

    《即用即查PHP函数参考手册》...通过这个压缩包中的《PHP函数手册》,开发者不仅可以了解到PHP函数的详细用法,还能结合源码实例加深理解,提升实际编程技能。无论是初学者还是经验丰富的开发者,都可以从中受益匪浅。

    经典代码:php调用函数.txt

    `dl()`函数是PHP中的一个内置函数,用于动态加载PHP扩展模块。通常情况下,PHP扩展是在编译时通过配置选项添加到PHP核心中的。然而,在某些情况下,可能需要在运行时动态加载这些扩展。这时,`dl()`函数就派上了用场...

    PHP 常用函数 网上各类函数

    下面我们将深入探讨PHP函数的使用及其重要性,以及可能包含的一些常见函数类型。 1. **函数的基本概念与创建** PHP中的函数可以通过`function`关键字来定义。例如: ```php function sayHello() { echo "你好, ...

    php 操作 Excel的函数库

    在这个场景中,"php 操作 Excel的函数库"是一个关键的知识点,它意味着我们将探讨如何在PHP中使用特定的库来与Excel文件交互。 首先,我们可以考虑使用PHP的PHPExcel库,这是一个非常流行的用于处理Excel文件的开源...

Global site tag (gtag.js) - Google Analytics