指南 · 约 4 分钟阅读

如何移除 Google 的“危险网站”警告

简短回答:当安全浏览(Safe Browsing)或 Google 搜索在你的网站上发现恶意软件、网络钓鱼或黑客植入的垃圾内容时,Google 就会显示这些警告。查看 Google Search Console 的 Security Issues 报告,了解问题是什么、在哪里;清理每个受感染的文件和数据库记录;堵住攻击者利用的漏洞(通常是过时的插件或被盗的密码);然后点击“申请审核”。Google 自己的估计:网络钓鱼约一天,恶意软件几天,黑客垃圾内容最多几周。

更新于 · HackGrade

先检查你的网站。 免费扫描会告诉你需要做哪些修复。 我的网站被黑了吗?

快速步骤

  1. 确认警告. 查看 Google 安全浏览的网站状态和 Search Console 的 Security Issues 报告。
  2. 找到受感染的页面. 从 Google 列出的示例网址入手,再搜索文件和数据库。
  3. 清理并堵住漏洞. 删除恶意代码,更新或移除有漏洞的组件,修改所有密码。
  4. 申请审核. 准确描述你删除和修复了什么,然后等待 Google 的答复。
  5. 持续监控. 开启 Search Console 邮件提醒,并定期重新检查网站。

代码和配置保持英文。

你遇到的是哪种警告?

  • 红色整页警告(“危险网站”“前方是欺骗性网站”“前方网站包含恶意软件”):Google 安全浏览因恶意软件、网络钓鱼或垃圾软件标记了该网站。Chrome、Firefox 和 Safari 都使用这份列表,因此大多数访客会被拦截。
  • Google 搜索结果下方显示“此网站可能已遭到黑客入侵”:Google 发现了黑客添加的内容,通常是垃圾页面、隐藏链接或跳转到其他网站的重定向。
  • Search Console 中的人工处置措施:Google 的工作人员因违反垃圾内容政策审查了该网站。这在 Manual Actions 报告中处理,而不是 Security Issues 报告。

第 1 步:确认 Google 发现了什么

在安全浏览网站状态页面(Google 透明度报告的一部分)中查询你的域名。然后打开 Google Search Console,选择你的资源,进入 Security & Manual Actions → Security issues。报告会说明问题类型并列出示例网址。如果网站还没有添加到 Search Console,请将其添加为网域资源,并通过 DNS TXT 记录进行验证。

第 2 步:找到受感染的页面

在无痕窗口中打开示例网址,但要知道黑客代码常常对已登录的网站所有者隐藏,只对搜索引擎或从 Google 来的访客显示。像 Googlebot 一样获取页面,查找不是你添加的脚本、iframe 或重定向:

Terminal
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://yourdomain.com/ \
  | grep -iE '<script|<iframe|http-equiv="refresh"' | head -n 20

在服务器上列出最近修改过的 PHP 文件。攻击者经常放置名字看起来像 WordPress 文件的文件:

Terminal
find /path/to/site -type f -name '*.php' -mtime -14 -printf '%TY-%Tm-%Td %p\n' | sort

在 WordPress 上,WP-CLI 可以把核心和插件文件与官方副本进行比对,并列出所有管理员账户:

Terminal
wp core verify-checksums
wp plugin verify-checksums --all
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

注入的脚本常常藏在数据库中(文章、小工具、选项),文件扫描无法发现:

Terminal
wp db search '<script' --all-tables
wp db search 'eval(' --all-tables

还要检查 .htaccess 文件中是否有只对搜索引擎或从 Google 来的访客进行重定向的规则:

Terminal
grep -rnE --include=.htaccess 'HTTP_REFERER|HTTP_USER_AGENT|base64' /path/to/site

第 3 步:清理网站并堵住漏洞

只删除看得见的垃圾内容是不够的:如果入口仍然开着,感染几天内就会卷土重来。按以下清单操作:

  • 先完整备份文件和数据库,即使是被感染的网站也要备份,以便对比。
  • 用官方来源的全新副本替换 WordPress 核心、插件和主题;不要尝试逐行清理。
  • 删除不用的插件和主题,并更新其余所有内容。参见如何找出存在已知漏洞的过时插件。
  • 删除陌生的管理员账户,然后修改所有密码:WordPress 用户、主机控制面板、SFTP/SSH、数据库和邮箱。
  • 更换 wp-config.php 中的密钥(wp config shuffle-salts),让所有被盗的会话退出登录。
  • 删除 Google 列出的垃圾页面。对它们返回 404 或 410,而不是重定向到首页。

详细的清理步骤见如何判断 WordPress 网站是否被黑(以及如何清理)。如果不确定网站是否已经干净,请恢复感染之前的备份,然后更新所有内容。

第 4 步:申请审核

只有在整个网站都清理干净后,才回到 Security issues 报告,勾选 I have fixed these issues,并选择 Request review。逐项描述你做了什么,例如:“从 14 篇文章中删除了注入的 JavaScript,把一个过时的幻灯片插件更新到最新版本,删除了一个陌生的管理员账户,并修改了所有密码。”据 Google 介绍,网络钓鱼审核约需一天,恶意软件审核需要几天,黑客垃圾内容审核可能需要几周。审核通过后,警告通常会在约 72 小时内从浏览器和搜索结果中移除。审核进行期间不要重复提交,也不要让网站下线:Google 需要抓取网站才能检查。

第 5 步:防止再次发生

  • 保持 Search Console 邮件通知开启;它通常是你最先得知新问题的地方。
  • 为你信任的插件开启自动更新,并删除不需要的插件。
  • 为每位管理员启用两步验证登录。参见如何保护 WordPress 登录。
  • 在服务器之外保存有多个还原点的备份,并测试一次还原。

HackGrade 会检查什么

HackGrade 不查询 Google 的安全浏览列表;这方面请使用透明度报告和 Search Console。它的免费扫描会标记最常见的入侵途径,例如存在已知漏洞的过时 WordPress 核心、插件和主题、公开暴露的用户名以及 XML-RPC。深度扫描仅面向已验证的网站所有者,还会查找注入的代码,例如虚假的 CAPTCHA 页面。另请参阅我的网站被黑了吗?

常见问题

Google 需要多长时间才能移除警告?

申请审核后,Google 估计网络钓鱼约一天,恶意软件几天,黑客垃圾内容最多几周。审核通过后,浏览器和搜索中的警告通常会在约 72 小时内消失。

不用 Search Console 可以移除警告吗?

Google 会随时间自行重新检查被标记的网站,但在 Search Console 中申请审核是请求更快复查的方式。验证网站是免费的,用一条 DNS 记录几分钟即可完成。

我的审核被拒绝了,怎么办?

说明仍有内容被感染,或漏洞仍未堵住。查看 Google 列出的新示例网址,除了文件也要搜索数据库,并确保所有组件都已更新,然后再申请。

这个警告会永久影响我的 Google 排名吗?

一旦 Google 确认网站已清理干净,警告就会被移除。删除黑客的垃圾页面(返回 404 或 410)有助于搜索结果恢复;恢复速度取决于垃圾内容在线的时间长短。

参考资料

相关指南

免费 · 即时 · 无需注册

抢在别人之前了解你的评级。

被动扫描。未经你的许可,不会进行任何攻击性检测。

免费开始。Pro 每月 29 美元起(按年付费约合每月 24 美元),或 29 美元购买一次性完整报告。 查看价格