CentOS 上 PHP 安全配置实操清单
一 系统与基础防护
二 PHP 运行时安全配置
三 PHP-FPM 与进程隔离
四 Web 服务器与网络层加固
<Directory "/var/www/html">
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
php_admin_flag engine on
</Directory>
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
location ~ /\.ht {
deny all;
}
}
五 数据库、备份与持续运维
CREATE USER 'app'@'localhost' IDENTIFIED BY 'StrongPassword!';
GRANT SELECT,INSERT,UPDATE,DELETE ON app_db.* TO 'app'@'localhost';
FLUSH PRIVILEGES;
mkdir -p /backup
rsync -avz --delete /var/www/html/ /backup/website_$(date +%F)/
mysqldump -u[db_user] -p[db_pass] [db_name] | gzip > /backup/db_$(date +%F).sql.gz