提升CentOS上PHP的安全性可从系统、PHP配置、网络及数据层面入手,具体措施如下:
系统及软件更新
定期更新CentOS系统和PHP至最新版本,安装安全补丁。
sudo yum update
配置防火墙
使用Firewalld限制访问,仅开放HTTP(80)、HTTPS(443)等必要端口。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
优化PHP配置
/etc/php.ini
中设置disable_functions
,禁止exec
、system
等高风险函数。open_basedir
限制PHP脚本仅能访问指定目录(如/var/www/html
)。upload_max_filesize
、post_max_size
,并验证上传文件类型。display_errors=Off
,启用log_errors
记录错误日志。启用HTTPS
安装SSL证书,通过HTTPS加密传输数据,防止敏感信息泄露。
sudo yum install mod_ssl
# 配置证书路径(需替换为实际证书文件)
sudo vi /etc/httpd/conf.d/ssl.conf
使用安全模块
安装Web应用程序防火墙(如ModSecurity),防御SQL注入、XSS等攻击。
sudo yum install mod_security
sudo systemctl enable mod_security
sudo systemctl start mod_security
数据库安全
使用参数化查询或预处理语句防止SQL注入,避免直接拼接用户输入。
定期备份与监控
定期备份网站数据和数据库,监控系统日志,及时发现异常。