欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php safe_mode简单总结

程序员文章站 2022-06-05 12:18:22
...

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 列出的类将会被禁用