网站突然被降权?用户反馈跳转赌博页面?这篇指南帮你彻底清理并堵住漏洞
一、先搞清状况:你的网站出了什么问题?
很多站长发现网站异常时,第一反应是"被黑了",但具体是什么问题、严不严重,需要先搞清楚。最常见的有三种情况:
| 问题类型 | 典型表现 | 对网站的影响 |
|---|---|---|
| 黑链 | 页面肉眼看着正常,但源代码里隐藏了大量指向赌博、色情网站的链接 | 搜索引擎降权、排名暴跌 |
| 恶意跳转 | PC端访问正常,手机端跳转到非法网站;或从百度进来跳转,直接输入网址正常 | 用户体验极差,被浏览器拦截 |
| 挂马/篡改 | 页面被插入恶意JS,首页标题被改成博彩内容,网站被浏览器报毒 | 用户数据泄露风险,网站被列入黑名单 |
真实案例:某企业网站被黑后,从百度搜索进入会跳转到"北京赛车"等赌博网站,直接输入网址却完全正常。这种针对搜索引擎来源的定向劫持最隐蔽,站长自己很难发现。
二、如何检测:4种方法快速定位问题
2.1 查看网页源代码(最直接)
用浏览器打开网站首页,右键 → 查看页面源代码,按 Ctrl+F 搜索以下关键词:
| 搜索词 | 目的 |
|---|---|
http:// 或 https:// | 找所有外部链接,排除正常资源后看有没有陌生域名 |
display:none 或 visibility:hidden | 找被隐藏的黑链 |
font-size:0 或 color 与背景色相同 | 隐藏链接的常见手法 |
| 敏感词 | 赌博、彩票、时时彩、澳门、娱乐城等 |
正常的外链如友情链接、CDN资源、统计代码(百度统计、Google Analytics)需排除。
2.2 使用搜索引擎指令查收录异常
在百度或Google搜索:
text
site:你的域名 查看收录结果中是否有:
-
标题含敏感词(如"在线赌博"“私密直播”)
-
URL路径怪异(如
/x.php?id=123、/seo/xxx.html) -
内容明显不是你发布的
如果发现异常页面,说明黑客在你的服务器上批量生成了垃圾页面。
2.3 专业工具检测(省心省力)
| 工具 | 功能 | 地址 |
|---|---|---|
| 站长之家黑链检测 | 专查隐藏链接 | tool.chinaz.com |
| 百度网址安全中心 | 百度官方检测 | bsb.baidu.com |
| Google Search Console | 查外链、接收违规通知 | search.google.com |
| 网站安全狗 | 网马扫描+黑链检测 | 服务器端安装 |
2.4 服务器端深度排查(技术向)
如果以上方法确认有问题,需要登录服务器进一步排查:
-
检查近期修改的文件:
-
在Linux中执行
find /网站目录 -type f -mtime -7(查最近7天修改的文件) -
关注
.php、.js、.html文件,尤其是/uploads/、/cache/、/images/目录下的脚本文件
-
-
对比文件哈希:
bash
# 生成当前文件的校验和 find /var/www/html -type f -exec sha256sum {} + > current.sha256 # 与备份文件对比,找出被改过的文件 sha256sum -c backup.sha256 -
检查配置文件:
-
.htaccess(Apache)或 Nginx配置文件,看是否被添加了重定向规则 -
根目录下的
Global.asa、web.config可疑文件
-
三、清理步骤:从紧急处理到彻底根除
3.1 第一步:紧急止损(立即做)
-
备份当前状态:导出数据库、打包网站文件(保留证据,也防操作失误)
-
隔离受影响系统:如果确认被入侵,立即更改所有密码:
-
服务器SSH/RDP密码
-
数据库密码
-
网站后台管理员密码
-
FTP密码
-
-
临时切换维护页面:如果网站业务中断,可暂时关闭网站或切换只读模式
3.2 第二步:清理恶意代码
方法一:手动清理(适合懂代码的站长)
通过FTP或服务器文件管理器,下载网站文件:
-
检查并清理首页文件(
index.php、index.html)中的异常代码 -
检查模板文件(
header.php、footer.php),黑链常被加在这里 -
检查所有
.js文件,查找可疑的跳转代码
方法二:使用工具批量清理
如果恶意代码数量多,可用工具批量替换:
网站安全狗的"批量替换"功能:
-
路径:安全工具箱 → 批量替换
-
设置扫描目录 → 输入要替换的恶意代码 → 执行替换
方法三:直接恢复备份
如果有定期备份且确认备份是干净的:
-
删除当前网站目录所有文件
-
上传干净的备份文件
-
更换所有密码
注意:直接恢复备份而不堵漏洞,很快会被再次篡改。
3.3 第三步:清理搜索引擎中的不良记录
清理完网站后,还需要清理搜索引擎中的"脏数据":
-
提交死链删除:进入百度搜索资源平台 → 死链提交工具,将被黑客生成的垃圾页面URL提交删除
-
请求重新审核:Google Search Console中提交重新审核申请,说明已清理恶意内容
-
更新站点地图:重新生成并提交sitemap,帮助搜索引擎尽快抓取干净的页面
3.4 第四步:溯源堵漏(防止再次被黑)
清理只是治标,修复漏洞才是治本。根据被黑的入口,逐一加固:
| 常见入侵入口 | 加固措施 |
|---|---|
| CMS漏洞 | 升级WordPress、Discuz等到最新版本;删除不用的插件/主题 |
| 弱口令 | 修改所有密码为复杂密码(大小写+数字+特殊符号,16位以上) |
| 文件上传漏洞 | 限制上传目录脚本执行权限;上传文件进行重命名和类型校验 |
| SQL注入 | 部署WAF;对用户输入进行过滤;使用参数化查询 |
| 服务器配置问题 | 关闭目录浏览权限;限制PHP执行目录;禁用危险函数 |
| 其他网站牵连 | 如果服务器有多个网站,其他站被黑可能导致你的站也被入侵 |
四、防护措施:如何防止再次被黑
4.1 日常防护清单
| 防护措施 | 具体做法 |
|---|---|
| 定期更新 | 每周检查CMS、插件、主题是否有安全更新,及时打补丁 |
| 文件权限 | 配置文件设为644,目录设为755;核心文件可加 chattr +i 锁定 |
| 部署WAF | Cloudflare、云WAF或服务器端ModSecurity,拦截恶意请求 |
| 定期备份 | 网站文件+数据库每日/每周自动备份,异地存储 |
| 安装安全插件 | WordPress可装Wordfence、Sucuri;服务器可装网站安全狗 |
| 文件监控 | 使用AIDE、Tripwire监控文件完整性,发现异常立即告警 |
4.2 定期自查(每周5分钟)
-
用
site:你的域名查收录是否正常 -
查看网站首页源代码,扫一眼底部有没有陌生链接
-
登录服务器,检查
auth.log或secure日志有无异常登录尝试
4.3 服务器安全加固
bash
# 禁用危险PHP函数 disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source # 限制PHP访问目录 open_basedir = /var/www/html:/tmp # SSH改用密钥登录,禁用密码登录 PasswordAuthentication no Windows服务器:关闭不需要的服务,仅开放必要端口(80/443/3389等),安装安全狗或云锁
五、典型案例与解决思路
案例1:网站反复被黑,清理后又出现
“我把文件删了替换成备份,第二天立马又出现了”
原因:只清理了表面文件,没有清除黑客留下的后门文件(webshell)。黑客通过这些后门可以随时重新篡改网站。
解决方案:
-
使用安全狗等工具全盘扫描webshell
-
重点检查
/uploads/、/cache/等可写目录中的php文件 -
检查隐藏文件(如
.xxx.php)
案例2:只有从百度搜索进来才跳转
“直接输入网址正常,从百度搜索结果点进来就跳转到赌博网站”
原因:黑客在代码中加入了对HTTP Referer的判断,只有来源是搜索引擎时才触发跳转。
解决方案:
-
检查
.js文件和模板文件中的document.referrer相关代码 -
检查
.htaccess或 Nginx配置中的条件重定向
案例3:网站标题被篡改但内容正常
“百度快照显示的是赌博内容,但打开网站是正常的”
原因:黑客修改了网页的 <title> 和 <meta description>,或者针对搜索引擎爬虫做了特殊处理(cloaking)。
解决方案:
-
查看源代码中的title和description
-
用不同User-Agent访问(如模拟百度蜘蛛)对比返回内容
六、什么时候需要请专业团队?
以下情况建议寻求专业安全公司帮助:
| 情况 | 说明 |
|---|---|
| 自己清理后反复被黑 | 说明有后门没清干净,或漏洞没修复 |
| 不懂代码 | 看不懂PHP/JS代码,无法定位恶意逻辑 |
| 网站涉及交易/用户数据 | 数据泄露风险高,需要专业取证和清理 |
| 多个网站同时被黑 | 服务器层面可能已被渗透 |
国内专业的安全公司如Sinesafe、绿盟等提供网站安全服务。
七、快速自查清单
日常检查(每周):
-
用
site:指令查收录是否异常 -
查看首页源代码底部是否有陌生链接
-
检查服务器登录日志
-
确认备份任务正常运行
发现异常后(紧急处理):
-
立即备份当前状态
-
修改所有密码
-
清理恶意代码或恢复备份
-
提交死链删除到搜索引擎
-
排查漏洞入口并修复
-
部署WAF和文件监控
清理挂马和黑链是一个"发现 → 清理 → 堵漏 → 防护"的闭环过程。只清理不堵漏,等于给黑客留了后门,过几天还会回来。