PHP后门需先定位再清除最后加固,直接删除易遗漏隐藏后门或误删业务代码;应通过修改时间、危险函数、权限异常、访问日志识别可疑文件;杀毒软件和一键脚本无法应对变形编码、内存型后门及数据库注入型后门;清除后须限制目录权限、升级组件并关闭危险配置。

PHP后门不是靠“删除”就能解决的,而是要先定位、再清除、最后加固——直接删文件可能漏掉隐藏后门,甚至误删业务代码导致网站崩溃。
怎么识别可疑的 PHP 后门文件
后门常伪装成正常文件,比如 wp-config.php.bak、cache.php、index1.php,或藏在 /uploads/、/tmp/ 等可写目录里。重点查:
- 最近被修改但非你操作的 PHP 文件(用
find /var/www -name "*.php" -mtime -7 -ls) - 包含
eval(、base64_decode(、system(、shell_exec(、assert(的文件(grep -r "eval\|base64_decode\|shell_exec\|assert\|system" /var/www/ --include="*.php") - 文件权限异常(如 PHP 脚本属主是
www-data但内容明显非业务逻辑) - HTTP 访问日志里高频请求的陌生 PHP 路径(比如
/images/test.php)
为什么不能只靠杀毒软件或一键脚本清理
大多数所谓“PHP 后门查杀工具”只能匹配已知特征,对变形编码(如两次 base64、字符串拼接绕过)、无文件内存型后门(如通过 preg_replace 的 /e 修饰符执行代码)完全无效。更危险的是:
- 有些“清理脚本”本身带后门,或硬编码了远程回调地址
- 自动替换可能破坏合法代码(比如把业务里正常的
base64_decode也干掉了) - 忽略数据库注入型后门(如 WordPress 的
wp_options表里被写入恶意 option_value)
恢复运行前必须做的三件事
删完后门不等于安全,不补漏洞,24 小时内大概率再次被挂马:
立即学习“PHP免费学习笔记(深入)”;
- 检查 Web 服务用户权限:确保
www-data(或对应运行用户)对代码目录只有读+执行,禁止写权限(chown -R root:www-data /var/www/html+chmod -R 755 /var/www/html,再单独给wp-content等必要目录 775) - 升级所有组件:CMS(如 WordPress)、插件、PHP 版本(至少 8.0+,关闭
allow_url_include和disable_functions
- 重置所有凭据:数据库密码、后台管理员密码、FTP/SSH 密钥、API token —— 攻击者很可能已导出并留存
最易被忽略的点:后门可能已写入 crontab(sudo -u www-data crontab -l)、PHP 的 auto_prepend_file 配置、或 Nginx 的 fastcgi_param 注入。不查这些,删光文件也没用。











