Linux PHP 安全防护实操清单
一 系统与基础加固
php -m 查看并移除无用扩展),降低攻击面。二 PHP 运行时安全配置
disable_functions 中禁用可执行系统命令与代码注入相关函数,例如:disable_functions = exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,eval,assert,ini_alter,ini_restore,dl,syslog,readlink,symlink,show_source,stream_socket_server,chroot,chgrp,chown,scandir三 Web 服务器与执行环境隔离
location ~ ^/images/.*\.(php|php5)$ { deny all; }
location ~ ^/static/.*\.(php|php5)$ { deny all; }
location ~ ^/data/(attachment|avatar)/.*\.(php|php5)$ { deny all; }
if ($request_filename ~* (.*)\.php) { set $php_url $1; }
if (!-e $php_url.php) { return 404; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
四 文件系统与权限模型
find /var/www -type f -perm 0777 -exec chmod 644 {} \;find /data/www -mtime -3 -type f -name "*.php"grep -r --include=*.php '[^a-z]eval($_POST' .五 应用安全编码与运维监控