php safe_mode是在php5.4以前php_ini_system范围的一个配置,打开该配置通过一些环境的限制来提高服务器的安全性,同时也会带来一些麻烦。 安全模式配置指令: 名称 默认值 可修改范围 更新记录 safe_mode 0 PHP_INI_SYSTEM safe_mode_gid 0 PHP_INI_SYSTEM
php safe_mode是在php5.4以前php_ini_system范围的一个配置,打开该配置通过一些环境的限制来提高服务器的安全性,同时也会带来一些麻烦。
安全模式配置指令:
名称 | 默认值 | 可修改范围 | 更新记录 |
safe_mode | “0” | PHP_INI_SYSTEM | |
safe_mode_gid | “0” | PHP_INI_SYSTEM | 自 PHP 4.1.0 起可用 |
safe_mode_include_dir | NULL | PHP_INI_SYSTEM | 自 PHP 4.1.0 起可用 |
safe_mode_exec_dir | “” | PHP_INI_SYSTEM | |
safe_mode_allowed_env_vars | “PHP_” | PHP_INI_SYSTEM | |
safe_mode_protected_env_vars | “LD_LIBRARY_PATH” | PHP_INI_SYSTEM | |
open_basedir | NULL | PHP_INI_SYSTEM | |
disable_functions | “” | 仅 php.ini | 自 PHP 4.0.1 起可用 |
disable_classes | “” | 仅 php.ini | 自 PHP 4.3.2 起可用 |
safe_mode带来的影响也与这些配置指令有关
名称 | 影响范围 | 具体描述 |
safe_mode_gid | 文件操作 | 检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 |
safe_mode_include_dir | 文件包含 | 当从此目录及其子目录(目录必须在 include_path 中或者用完整路径来包含)包含文件时越过UID/GID 检查 |
safe_mode_exec_dir | 程序执行函数 | 如果 PHP 使用了安全模式,system() 和其它程序执行函数将拒绝启动不在此目录中的程序。 |
safe_mode_allowed_env_vars | 本指令包含有一个逗号分隔的前缀列表。在安全模式下,用户只能改变那些名字具有在这里提供的前缀的环境变量。 | |
safe_mode_protected_env_vars | 本指令包含有一个逗号分隔的环境变量的列表,最终用户不能用 putenv() 来改变这些环境变量。 | |
open_basedir | NULL | 将 PHP 所能打开的文件限制在指定的目录树,包括文件本身。本指令不受安全模式打开或者关闭的影响。 |
disable_functions | 列出的函数将会被禁用 | |
disable_classes | 列出的类将会被禁用 |
原文地址:php safe_mode简单总结, 感谢原作者分享。