php开启安全模式后禁用的函数集合
2015-01-24信息快讯网
前几天看公司面试题的时候有看到这样的题目,有一些函数还是能记得的,今天刚好查了一下手册,在这里记录下。
<?php
ini_set("safe_mode",true);
?>
表 42-2. 安全模式限制函数
| 函数名 | 限制 |
|---|---|
| dbmopen() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| dbase_open() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| filepro() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| filepro_rowcount() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| filepro_retrieve() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| ifx_* | sql_safe_mode 限制, (!= safe mode) |
| ingres_* | sql_safe_mode 限制, (!= safe mode) |
| mysql_* | sql_safe_mode 限制, (!= safe mode) |
| pg_loimport() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| posix_mkfifo() | 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| putenv() | 遵循 ini 设置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 选项。请参考 putenv() 函数的有关文档。 |
| move_uploaded_file() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| chdir() | 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| dl() | 本函数在安全模式下被禁用。 |
| backtick operator | 本函数在安全模式下被禁用。 |
| shell_exec()(在功能上和 backticks 函数相同) | 本函数在安全模式下被禁用。 |
| exec() | 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 |
| system() | 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 |
| passthru() | 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 |
| popen() | 只能在 safe_mode_exec_dir 设置的目录下进行执行操作。基于某些原因,目前不能在可执行对象的路径中使用 ..。escapeshellcmd() 将被作用于此函数的参数上。 |
| fopen() | 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| mkdir() | 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| rmdir() | 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| rename() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| unlink() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| copy() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (on source and target) |
| chgrp() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| chown() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| chmod() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 另外,不能设置 SUID、SGID 和 sticky bits |
| touch() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 |
| symlink() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意:仅测试 target) |
| link() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意:仅测试 target) |
| apache_request_headers() | 在安全模式下,以“authorization”(区分大小写)开头的标头将不会被返回。 |
| header() | 在安全模式下,如果设置了 WWW-Authenticate,当前脚本的 uid 将被添加到该标头的 realm 部分。 |
| PHP_AUTH 变量 | 在安全模式下,变量 PHP_AUTH_USER、PHP_AUTH_PW 和 PHP_AUTH_TYPE 在 $_SERVER 中不可用。但无论如何,您仍然可以使用 REMOTE_USER 来获取用户名称(USER)。(注意:仅 PHP 4.3.0 以后有效) |
| highlight_file(), show_source() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意,仅在 4.2.1 版本后有效) |
| parse_ini_file() | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 检查被操作的目录是否与正在执行的脚本有相同的 UID(所有者)。 (注意,仅在 4.2.1 版本后有效) |
| set_time_limit() | 在安全模式下不起作用。 |
| max_execution_time | 在安全模式下不起作用。 |
| mail() | 在安全模式下,第五个参数被屏蔽。(注意,仅自 PHP 4.2.3 起受影响) |
| 任何使用 php4/main/fopen_wrappers.c 的函数 | ?? |
PHP数组无限分级数据的层级化处理代码
php学习笔记之面向对象编程
php5.3中连接sqlserver2000的两种方法(com与ODBC)
PHP中计算字符串相似度的函数代码
PHP flock 文件锁详细介绍
PHP中函数rand和mt_rand的区别比较
PHP编码转换函数 自动转换字符集支持数组转换
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
php自动给文章加关键词链接的函数代码
调整优化您的LAMP应用程序的5种简单方法
php设计模式 Adapter(适配器模式)
php设计模式 Builder(建造者模式)
php设计模式 DAO(数据访问对象模式)
php设计模式 Decorator(装饰模式)
php设计模式 Delegation(委托模式)
php中对2个数组相加的函数
php 缩略图实现函数代码
php中随机显示图片的函数代码
php学习笔记 数组的常用函数
PHP中的函数嵌套层数限制分析