网站被黑了?别关页面,先看这三步

早上打开网站,首页突然跳到一个陌生赌博页;后台死活登不进去;搜自己品牌名,结果弹出“该网站可能已被入侵”的红字警告……
你不是第一个,也绝不会是最后一个。但你现在点开这篇文章,说明还没慌到乱删文件——这就赢了一半。

第一步怎么确认:你真的被黑了吗?

网站打不开,不一定是被黑。可能是服务器到期、数据库崩了,或者某个插件抽风。先别急着重装系统,花两分钟验证一下:

打开浏览器按 F12,切到「Network」标签页,刷新首页。看请求列表里有没有跳向 http://xxx.top 这类来路不明的域名。有,基本坐实了。

再去看谷歌站长工具(Google Search Console)的收件箱。如果它发了「您的网页被恶意修改」这类邮件,别手滑删掉——我亲眼见过站长当垃圾邮件清空,结果网站在搜索结果里躺了三个月才爬回来。

没收到邮件?手动搜一下:在谷歌输入 site:你的域名,看看出来的标题和摘要是不是离谱。比如你是做母婴电商的,结果搜出来全是“传奇私服”“秒充话费”,那不用猜了,早就被人动过手脚。

真实案例:去年帮一个本地装修公司处理问题,他们首页一直正常,直到百度站长平台弹出提示:“检测到外链指向违规站点”。点进去一看,页面底部藏着一段隐藏的 iframe,源地址直连境外赌博站。代码就藏在一行 CSS 注释后面,肉眼完全看不出。流量断崖式下跌,折腾两周才揪出来。

怎么找到后门:黑客到底从哪进来的?

修首页只是擦灰,找不到入口,等于给贼留了后门钥匙。

最常见的三个突破口,按发生频率排:

  • CMS 和插件长期不更新:WordPress、织梦这些老版本,漏洞多得能漏风。尤其是一些冷门插件,作者早不维护了,但你还开着——黑客扫到就直接上传木马。
  • 后台密码太好猜admin/123456admin/admin123、甚至直接用 password 当密码的,真有。FTP 密码设成 123456?相当于把家门钥匙焊在门把手上。
  • 用了来路不明的主题或插件:网上随便下的“破解版”“免授权”主题,十有八九带暗桩。装上的那一刻,你的服务器就开始替别人打工了。

怎么找?把整站文件下载到本地,用 VS Code 或 Sublime 这类编辑器全局搜索这几个关键词:
eval(base64_decodeexec(system(

只要它们出现在你没写过的 .php 文件里,尤其是图片文件、插件子目录、或者名字像 randomname.php 的文件里,基本就是后门。

具体例子:之前处理过一个企业站,后门代码就塞在 /wp-content/plugins/akismet/akismet.php 最后一行。前面硬生生加了 500 行空格,人工翻根本看不到,一搜就现形。

修复顺序是什么:千万别先改密码

很多人第一反应是改后台密码、删首页、重启服务——这反而最容易翻车。

黑客很可能已经在服务器里埋了提权脚本,你改完密码,他照进不误。正确顺序是:

  1. 立刻断网:拔网线,或在云控制台关掉服务器公网入口。停几个小时比挂三天赌博广告强。
  2. 完整备份当前状态:把所有文件 + 数据库打包下载到本地硬盘。不是为了恢复,是为了留证。万一要报网警、走法律流程,这是唯一能溯源的东西。
  3. 逐个清理恶意代码:重点查这些文件:index.phpheader.phpfooter.phpfunctions.php.htaccess。特别是 .htaccess,常被偷偷加跳转规则——你看不到异常,但百度蜘蛛一来就被拐走。
  4. 全部升级:CMS 核心、所有启用的插件、正在用的主题,一律更新到最新稳定版。如果某个插件两年没更新,别心疼,卸了换新的。
  5. 重设所有密码:FTP、数据库、后台管理、服务器 SSH,全部换成 20 位以上、大小写+数字+符号的组合。每个地方单独一套,别复用。
  6. 重装核心文件:最干净的做法:下载官方最新版 CMS,只保留 /uploads 文件夹(放图片的地方)和数据库,其他全删,用新包覆盖。

真实案例:一个服装电商被黑后,老板只改了后台密码,没碰 .htaccess。结果黑客在里面写了条规则:只要 User-Agent 是百度蜘蛛,就跳去伪造的促销页;普通用户访问却一切正常。百度收录了一堆假页面,自然流量掉了七成。最后清空 .htaccess,重写规则,才算真正止血。

怎么预防再次被黑:三个你今天就能做的动作

你不需要懂渗透测试,也不用雇安全团队。坚持这三件事,90% 的批量攻击都绕着你走:

  • 开两步验证:登录后台时加一道手机验证码或谷歌验证器。WordPress 装 “Two Factor Authentication” 插件,织梦用 “安全助手”,十分钟搞定。暴力破解脚本遇到这个,直接放弃。
  • 关掉不必要的写权限:用 FTP 工具(比如 FileZilla)右键网站根目录 → 属性 → 把“写入”勾去掉。只给 /uploads 目录留 755 权限,其余统一设为 644。这样就算木马传上来了,也没法执行。
  • 装一个靠谱的安全插件:WordPress 推荐 Wordfence(免费版够用),织梦可以用 “网站安全狗”。它们会盯住文件变动、拦截可疑请求,就像给网站装了个自动报警器。

别信“我的站小,没人盯”。黑客用的是全自动扫描器,扫到一个弱口令、一个过期插件,就顺手种下后门。我修过一个只有 3 篇文章的个人博客,被挂了 200 多条垃圾外链——就因为主题三年没更新。

被黑后流量还能恢复吗:需要多久

能恢复,但不是一夜之间。

谷歌相对友好:你提交「安全审核」申请后,通常 2–5 天内解除警告。百度要主动去「百度搜索资源平台」申诉,并确保网站连续 7 天无异常。期间排名会掉,流量会跌,但只要你保持内容更新、没再出问题,一个月左右基本能回到原来水平。

别病急乱投医。有人修复完马上狂发外链、刷点击量,想“抢回排名”——搜索引擎一看:刚清完毒又开始作弊?直接加重处罚。

正确做法很简单:
✅ 正常更新原创内容
✅ 用站长平台检查并提交死链
✅ 更新 sitemap 并重新提交
✅ 等蜘蛛来抓取,别催

这个过程没法加速,但比永久降权强一万倍。

今天就能执行的一个操作

现在,打开你常用的 FTP 工具(比如 FileZilla 或 WinSCP),连上网站服务器。
→ 在根目录右键 → 「搜索」→ 输入 base64_decode,范围选“所有子目录”,文件类型填 *.php
→ 如果搜出你不认识的文件(比如 /wp-content/plugins/xxx/randomfile.php),直接删掉
→ 然后立刻进服务器控制台或数据库管理页,把 FTP 密码、后台管理员密码、数据库密码,全换成 20 位随机字符(可以用浏览器自带的密码生成器)

做完这两步,关掉这个页面,去喝杯水。你已经比昨天更安全了。