PHP核心配置
原为引用 《代码审计企业级web代码安全架构》尹毅 第一章内容
Register_globals(全局变量开关)
会直接把用户GET、POST等方式提交上来的参数注册成为全局变量并初始化值为参数对应的值。 PHP5.3.0起废弃、PHP5.4.0移除
Allow_url_include(是否允许包含远程文件)
可以直接包含远程文件,
Magic_quotes_gpc(魔术引号自动过滤)
会自动在GET、POST、COOKIE变量中 单引号、双引号、反斜杠、空字符的前面加上反斜杠() 在PHP5中magic_quotes_gpc并不会过滤$_SERVER变量。导致很多雷士client-ip、referer一类的漏洞能够利用 PHP5.3之后不推荐使用PHP5.4 直接取消。
Magic_quotes_runtime(魔术引号自动过滤)
他也是在单引号、双引号、反斜杠等前面加上反斜杠 不过它与上述处理的对象不同它只对数据库或者文件中获取的数据进行过滤,。
Magic_quotes_sybase(魔术引号自动过滤)
自动过滤特殊字符,他会覆盖掉magic_quotes_gpc=on的配置。共同点与gpc处理的对象一样 区别这这个它仅仅是转义了空字符和单引号变成双引号。与GPC相比它使用的少 PHP5.4.0中移除。
Safe_mode(安全模式)
安全模式是PHP内嵌的一种安全机制,当它等于on时,、联动可以配置的指令有safe_mode_include_dir、safe_mode_exec_dir、safe_mode_allowed_env_vars、safe_mode_protected_env_vars。safe_mode
PHP5.4后取消
Open_basedir PHP(可访问目录)
用来限制PHP只能访问哪些目录,通常我们只需要设置web文件目录即可,如果需要加载外部脚本,也需要把脚本所在目录路径加入到open_basedir指令中,多个目录可以用分号分割。
Disable_functions(禁用函数)
在正式生产换进给,为了安全的运行PHP 可以使用它来禁止敏感函数的使用。当你想用本指令禁止一些危险的函数时,切记要把dl()也加入到禁止列表,因为攻击者可以利用dl()加载自定义的PHP扩展以突破disable_functions指令的限制
Display_errors和error_reporting错误显示
Display_errors表明是否显示PHP脚本内部错误的选项,在调试时候可以打开 在生产环境中建议关闭PHP错误回显。
官方文档: https://www.php.net/manual/zh/ini.list.php