PHP代码审计学习(2)——php.ini核心配置
语法
大小写敏感
Directive = value (指令=值)
foo = bar != FOO=bar
运算符
| & ~ !
空值表达方式
foo = ;
foo = none ;
foo = “none”;
安全模式
Safe_mode = off 安全模式,用来限制文档存取,控制外部程序的执行。5.4被移除
限制环境变量存取
Safe_mode_allowed_env_vars = string
外部程序执行目录
Safe_mode_exec_dir = 网站主目录
禁用函数
Disable_functions
com组件
PHP设置在安全模式下,仍可以使用COM函数来创建系统组件执行任意命令。需要配置extension=php_com_dotnet.dll。Version <5.4.5不需要
控制变量
全局变量注册开关
Register_globals = off 默认关闭,4.2之前默认开启。服务端可接受任意方式提交的变量
魔术引号自动过滤
Magic_quotes_gpc=off 默认关闭,5.4.0被移除,开启自动把用户提交的SQL查询语句进行转义,将’ ” \ NULL进行转义,会影响HTTP请求数据
文件包含
是否允许包含远程文件
allow_url_include=off
是否允许打开远程文件
Allow_url_open = on
目录访问
HTTP头部版本信息文件
Expose_php = off
文件上传临时目录
Upload_tmp_dir = 上传文件临时目录
用户可访问目录
Open_basedir = 指定目录,一定程度上限制了phpshell的危害
错误配置
内部错误选项
Display_errors = on 调试的时候打开,上线要关闭
错误报告级别
Error_reporting = E_ALL & ~E_NOTICE 错误级别最高,显示问题,方便排错