如何检测网站有没有被挂黑链
打开一个企业站,何检黑链鼠标往下滚两屏,测网底部突然冒出几个花花绿绿的被挂词——“时时彩”“真人视讯”“棋牌”。这些词跟网站内容八竿子打不着,何检黑链点进去却跳转到赌博页面。测网这就是被挂典型的黑链,黑客或者某些灰产从业者偷偷塞进来的何检黑链隐藏链接。网站自己可能完全不知道。测网
我见过一个做机械配件的被挂外贸站,首页源码里藏了四十多个赌博链接。何检黑链老板还纳闷,测网说最近百度收录掉得厉害,被挂流量腰斩。何检黑链查了半天才发现,测网网站被人从后台传了个木马,被挂隔三差五往里注黑链。
先看源码,别只看页面
黑链最常用的手法是CSS隐藏。比如display:none、visibility:hidden、text-indent:-9999px,或者把字体颜色设成跟背景一样。你在浏览器里看不到,但搜索引擎爬虫能读到。所以检测第一步,右键“查看网页源代码”,直接搜几个敏感词:彩票、娱乐、百家乐、私服、发票。搜不到也别放心,有些黑链用JS动态注入,源码里没有,得用开发者工具看渲染后的DOM。
Chrome按F12,切到Elements面板,Ctrl+F搜上面那些词。如果出现一堆<a>标签指向乱七八糟的域名,基本中招了。有个小技巧:正常外链一般带rel="nofollow"或者放在正文里,黑链往往堆在<div style="position:absolute;left:-9999px">这种鬼地方。
用工具批量查,别手动翻
一个网站几百个页面,手动看源码不现实。几个在线工具能帮上忙:
- Screaming Frog:爬取全站,导出所有外链,按域名排序。突然出现一批
.ru、.top、.xyz的陌生域名,点进去是博彩站,那就是黑链。 - Ahrefs或Semrush的外链分析:看“出站链接”报告。正常企业站外链应该很少,如果突然多出几百个低质量域名,警报。
- 百度搜索资源平台:如果网站接了百度统计,后台“抓取诊断”能看到百度蜘蛛抓到的页面里有没有异常链接。
我习惯用Screaming Frog免费版,爬500个页面够用了。导出CSV,按“Link Score”排序,那些指向色情、赌博域名的链接会排在前面。
查服务器和后台,找源头
黑链不会凭空出现。要么是网站程序有漏洞被上传了webshell,要么是数据库被注入了。登录服务器,看网站根目录最近有没有被修改过的文件。Linux下用find /www -mtime -7 -name "*.php",列出七天内改过的PHP文件。如果发现一个叫1.php或者cache.php的陌生文件,打开看看,里面往往是一句话木马或者加密过的后门。
再查数据库。很多黑链存在wp_options或者dede_addonarticle这类表里。用phpMyAdmin搜“script”或者“iframe”,看有没有被插入恶意代码。WordPress站点重点查wp_posts表的post_content字段。
日常监控比事后补救重要
我给自己管的几个站装了Wordfence(WordPress)或者云锁(通用),文件一被修改就发邮件。另外在Google Search Console里设置“安全问题是”提醒,一旦被挂黑链,谷歌会标“该网站可能被黑客入侵”。百度也有类似提示。
还有个笨办法但有效:每周手动site一下自己的域名,看搜索结果里有没有出现奇怪的标题和描述。黑链多了,搜索引擎会把赌博关键词跟你的站关联起来,标题可能变成“某某公司-澳门赌场在线”。
发现黑链后,别只删链接。删了还会被注。先改后台密码,再查木马,最后把服务器系统补丁打上。我见过一个站,删了黑链三天后又出现,最后发现是/tmp目录里藏了个定时脚本,每六小时重新注入一次。
黑链这东西,本质是拿你的网站权重给别人做嫁衣。检测不难,难的是养成定期看的习惯。你不管它,它就把你榨干。