CentOS 上加固 PHP 的实用清单
一 系统与基础防护
二 PHP 运行时安全配置
| 配置项 | 建议值 | 说明 |
|---|---|---|
| display_errors | Off | 不在浏览器暴露错误细节 |
| log_errors | On | 将错误写入日志便于审计 |
| error_log | /var/log/php_errors.log | 指定错误日志路径 |
| expose_php | Off | 隐藏 X-Powered-By: PHP/… |
| allow_url_fopen | Off | 禁止远程 URL 文件包含/读取 |
| allow_url_include | Off | 禁止远程文件包含执行 |
| open_basedir | /var/www/html:/tmp | 限制脚本可访问目录(多站点需分别设置) |
| disable_functions | system,exec,shell_exec,passthru,proc_open,popen,eval,assert,show_source | 禁用高危函数(按应用兼容性精简) |
| file_uploads | On/Off | 不需要上传则关闭 |
| upload_max_filesize | 2M(示例) | 结合业务下调 |
| post_max_size | 8M(示例) | 不小于上传上限 |
| session.cookie_httponly | 1 | 防 XSS 窃取会话 |
| session.cookie_secure | 1 | 仅 HTTPS 传输会话 |
| session.cookie_samesite | Strict/Lax | 缓解 CSRF |
| opcache.enable | 1 | 建议开启以提升性能并减少攻击面(配合安全配置) |
三 PHP-FPM 与进程隔离
四 Web 服务器与边界防护
五 运维与持续安全