以下是CentOS下PHP安全设置方法:
更新系统和PHP
sudo yum update -y
sudo yum install epel-release -y
sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring -y # 安装必要模块
配置PHP安全参数
编辑/etc/php.ini:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M
session.cookie_httponly = On
session.cookie_secure = On
session.cookie_samesite = Strict
disable_functions = eval,exec,shell_exec,passthru,curl_exec
配置PHP-FPM(如使用)
编辑/etc/php-fpm.d/www.conf:
user = apache
group = apache
listen.owner = apache
listen.group = apache
listen.mode = 0660
security.limit_extensions = .php
启用防火墙与HTTPS
firewalld开放HTTP/HTTPS端口sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo yum install mod_ssl
sudo vi /etc/nginx/conf.d/ssl.conf # 配置证书路径
sudo systemctl restart nginx
安装安全模块(可选)
sudo yum install mod_security
sudo systemctl enable mod_security
定期维护
/var/log/php_errors.log)注意:部分配置(如disable_functions)需根据实际应用调整,避免影响正常功能。