以下是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
)需根據實際應用調整,避免影響正常功能。