1. 启用安全模式与用户组限制
在php.ini中启用安全模式是基础防护措施,需设置safe_mode = On
限制敏感函数调用,如system等系统级操作。建议将safe_mode_gid = Off
,防止同组用户越权访问文件,同时在safe_mode_allowed_classes
明确允许的类名(如mysqli),避免任意类实例化风险。
2. 错误信息处理与日志记录
生产环境应关闭错误显示功能,设置display_errors = Off
并配置error_reporting = E_ALL & ~E_NOTICE
,防止泄露系统路径等敏感信息。同时开启日志记录功能,通过log_errors = On
和error_log = /var/log/php_errors.log
集中管理错误信息。
3. 文件上传与执行限制
通过以下参数控制文件上传风险:
upload_max_filesize = 10M
与post_max_size = 10M
限制传输体积upload_tmp_dir = "/secured_tmp"
指定独立临时目录disable_functions = exec,system,passthru
禁用危险执行函数
4. 禁用危险函数与路径控制
使用open_basedir = "/var/www/html:/tmp"
限制PHP可访问目录,禁止跨目录操作。建议设置:
expose_php = Off
隐藏PHP版本信息register_globals = Off
关闭全局变量注册session.cookie_httponly = On
增强会话安全
虚拟主机的PHP安全配置需多维度防护,从运行模式、错误处理到文件权限均需严格管控。建议定期审计php.ini配置,结合Web服务器权限设置(如Apache的Directory限制),形成纵深防御体系。关键配置变更后需通过phpinfo
验证并全面测试站点功能。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/680596.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。