針對利用 PHP 腳本發起的 DDOS 攻擊(佔用帶寬、耗盡進程),通過禁用危險函數、限制遠程文件操作、啟用 Socket 擴展等 php.ini 配置,配合 IP 封禁、防火牆、流量清洗等基礎設施手段,構建多層防護體系。
| 指令 | 建議值 | 作用 |
|---|---|---|
disable_functions | gzinflate,exec,system,shell_exec,passthru,popen,proc_open,pcntl_exec | 禁用命令執行、進程控制、壓縮解壓等高危函數,防止腳本被利用發起外部攻擊或反彈 Shell。 |
allow_url_fopen | Off | 禁止 fopen()、file_get_contents() 等直接打開遠程 URL,阻斷 SSRF、遠程文件包含、濫用帶寬下載等向量。 |
extension=php_sockets.dll | 啟用 | 啟用 Socket 擴展,配合自定義連接池、超時控制,替代被禁的高危網絡函數,滿足正常業務需求。 |
php.ini(php --ini 查看)。service php-fpm restart。php -m | grep sockets、php -r "var_dump(ini_get('allow_url_fopen'));"、嘗試調用被禁函數應報 Fatal error: Call to undefined function。limit_req_zone、limit_conn_zone;或應用層 Redis 計數器。php_ftp、php_ssh2 等)。post_max_size、upload_max_filesize、Nginx client_max_body_size。PHP 配置加固是**最後一道代碼防線**,真正有效的 DDOS 防禦需在網絡邊緣、應用入口、業務邏輯多層疊加。禁用危險函數能顯著提高攻擊門檻,但不可作為唯一依賴。