网站被挂黑链完整清理流程,加固防再次入侵
网站被挂黑链通常不是单一文件问题,而是入侵者留了后门、改了配置或提了权限。
想彻底清理并防止再次入侵,必须按“确认现象 → 定位入口 → 清除恶意内容 → 修复漏洞 → 加固验证”的顺序走,只删首页代码基本都会复发。
先确认黑链长什么样,别急着删
黑链一般有三种表现:搜索引擎快照里出现赌博、色情关键词;
页面源码底部多出隐藏链接;robots.txt 或 .htaccess 被篡改。
先留证据再动手,避免清理后无法对比。
登录宝塔面板,进入“文件”找到网站根目录,重点看这几个位置:
- 首页文件
index.php、index.html - 公共包含文件
header.php、footer.php、common.php .htaccess、nginx.conf或站点伪静态规则robots.txt
用命令快速搜可疑代码:
cd /www/wwwroot/你的域名
grep -rn "eval\|base64_decode\|gzinflate\|str_rot13\|preg_replace.*/e" . --include="*.php"
如果输出大量混淆代码,说明后门不止一个。不要只删搜出来的第一处,要全部记录路径再统一处理。
定位入侵入口,避免清了又复发
清理前先判断入侵者从哪进来,否则删完很快又被写回。
常见入口有:
- CMS 或插件版本过旧,存在已知文件上传或 SQL 注入漏洞
- 后台弱口令,被爆破后直接登录
- 服务器 SSH 密码简单或 22 端口暴露
- 同服务器其他站点被攻破后跨站写入
查看最近被修改的文件:
find /www/wwwroot/你的域名 -type f -mtime -7 -name "*.php"
同时检查宝塔“安全”里的登录日志和 SSH 登录记录:
last -n 20
cat /var/log/secure | grep Accepted
如果发现陌生 IP 频繁登录,先改密码、封 IP,再继续清理。这一步不做,后面所有清理都可能白费。
清除黑链文件与后门
确认恶意文件路径后,按以下顺序处理:
- 备份整站和数据库,防止误删。宝塔面板“网站 → 备份”可一键完成。
- 删除明显恶意文件,例如根目录下随机命名的
.php文件、upload.php、shell.php。 - 还原被篡改的核心文件。如果用的是 WordPress、织梦等 CMS,从官方重新下载同版本覆盖
wp-admin、wp-includes等核心目录。 - 检查数据库。黑链有时写在
wp_options、dede_addonarticle等表里,用 phpMyAdmin 搜索可疑域名或script标签。 - 清理
.htaccess和 Nginx 配置中不明跳转规则。
数据库里如果发现大量 eval 或外链,先导出备份再删除对应记录。
修复漏洞并做加固防再次入侵
清理完成后,必须把入口堵住:
- 升级 CMS、插件、主题到当前稳定版本,不确定版本兼容性时先在测试站验证。
- 宝塔面板“网站 → 网站目录”关闭“访问限制”以外的多余权限,设置运行目录只读。
- 修改数据库密码、后台管理员密码、SSH 密码,三者不要相同。
- 宝塔“安全”里修改 SSH 默认端口,并启用密钥登录,关闭密码登录。
- 安装免费 WAF 或开启宝塔“网站防火墙”,拦截常见注入和上传行为。
- 设置文件权限:目录
755,文件644,不要给777。
find /www/wwwroot/你的域名 -type d -exec chmod 755 {} \;
find /www/wwwroot/你的域名 -type f -exec chmod 644 {} \;
验证清理是否彻底
清理后不要只看首页,按下面几点复查:
- 用浏览器无痕模式打开网站,查看源码底部是否还有隐藏链接。
- 在搜索引擎搜索
site:你的域名,观察快照是否仍显示异常关键词。 - 再次执行
grep命令,确认没有新的混淆代码。 - 查看服务器日志,确认没有异常 POST 请求或陌生 IP 访问。
- 观察 3 到 7 天,如果黑链没有复发,说明清理和加固基本到位。
网站被挂黑链完整清理流程的核心不是删文件,而是找到入口并堵住它。 只清理不加固,通常几天内就会再次被挂。
常见疑问
清理后搜索引擎快照还有黑链怎么办?
快照更新需要时间,可以在搜索引擎站长平台提交死链或快照更新请求,同时确保页面本身已干净。
没有技术基础能自己处理吗?
如果使用宝塔面板,按本文路径可以完成大部分操作。
遇到数据库篡改或服务器提权,建议先备份再找有经验的人协助。
需要重装服务器吗?
只有确认系统层被植入 rootkit 且无法清除时才考虑重装。
普通黑链清理后做好加固即可,不必直接重装。
加固后还会被入侵吗?
没有绝对安全,但及时更新、强密码、关闭多余端口和开启防火墙能挡住绝大多数自动化攻击。
建议每月做一次安全巡检。