找出问题,自己不改任何东西。

Ensomedia Security 会检查你的 WordPress 是否有恶意软件、被篡改的文件、已知漏洞和有风险的设置,并用大白话告诉你该修复什么。它会封锁不断猜密码的地址,并提供双重验证登录。只有当你点击按钮或打开开关时,文件、用户和设置才会改变。

在后台依次进入“插件”,“安装插件”,搜索 Ensomedia Security。插件目录中显示的名称是 Ensomedia Security powered by shieldwave.io,更新也由那里提供。

还在用以前从这里下载的 ShieldWave Security 3.x?它无法自行更新。请从 WordPress.org 安装 Ensomedia Security 并保持启用,然后在“插件”页面停用并删除 ShieldWave Security。你的设置、结果和双重验证配置都会保留。

价格
免费
账户
无需账户
控制台
所有已连接的站点均免费
语言
英语及另外 16 种
版本
1.1.28
要求
WordPress 6.2,PHP 7.4
许可证
GPLv2 或更高版本
WordPress 中的 ShieldWave 概览:一句“你的网站状态良好”,附上次扫描、下次扫描和得分;一颗标有站点地址的星球;按“建议修复”和“仅供参考”分组的待办列表;以及已开启登录保护的“防护”面板。 WordPress 中的 ShieldWave 概览:一句“你的网站状态良好”,附上次扫描、下次扫描和得分;一颗标有站点地址的星球;按“建议修复”和“仅供参考”分组的待办列表;以及已开启登录保护的“防护”面板。
全新测试站点首次扫描后的概览:真实的发现,按先做什么排好顺序。

25 项检查,用大白话说明

每一项发现都会说明它是什么意思、为什么重要、该怎么修复。与 WordPress.org 发布的副本一致的文件会被直接视为可信;扫描器拿不准的内容会标记为需要进一步查看,而不是直接报警。

恶意软件与文件

  • WordPress.org 无法担保的文件中的恶意软件和 Web Shell
  • WordPress 核心文件与官方校验和比对
  • 插件文件与 WordPress.org 校验和比对
  • 主题文件与 WordPress.org 发布包比对
  • 新增和被修改的文件与已记录的基线比对
  • uploads 中的 PHP 文件和执行规则

漏洞与软件

  • 已知漏洞,包括付费插件和主题(需手动开启)
  • 已在 WordPress.org 下架的插件和已停止维护的插件
  • 仍装在站点上但没有使用的插件和主题
  • WordPress 更新
  • 插件和主题更新
  • PHP 版本是否仍受支持

内容与暴露

  • 被注入内容的脚本、隐藏框架和垃圾链接
  • 仍可被读取的备份、数据库导出、日志、.env 和 .git
  • 公开可见的用户名列表
  • 不属于任何插件的计划任务
  • 访客、Googlebot 和搜索来源访客看到的首页和结账页

账户与配置

  • 管理员账户
  • 开放的用户注册
  • wp-config.php 设置
  • 向访客显示的调试输出
  • 内置文件编辑器
  • XML-RPC
  • 站点和后台的 HTTPS
  • 最近的备份,来自备份插件或主机商

它也会堵上常见的入侵途径

新安装时登录保护默认开启,其中每一部分都可以关闭。其余功能在你打开之前都是关闭的。

登录保护

  • 同一地址连续登录失败 5 次后(可设为 3 到 50 次),该地址需等待 20 分钟(可自行设置)。封锁始终是临时的。
  • 受信任的地址不会被封锁。开启该功能的地址会自动加入,所以从那里输错密码也不会把你锁在外面。
  • 用户名保持私密:登录表单不再确认用户名是否存在,REST API、站点地图和 ?author= 技巧也不再向未登录的访客透露用户名。

双重验证登录

  • 输入密码后,再输入验证器应用生成的一次性代码,由每位自行开启的管理员使用。
  • 在要求使用之前,你要先确认一个有效的代码,并会得到十个一次性恢复代码。
  • 通行密钥可作为第二步验证,打开相应设置后也可免密码登录。需要 HTTPS。
  • 如果手机和恢复代码都丢了,可以用命令行救援命令 wp shieldwave two-factor disable。

加固开关

  • 关闭插件和主题文件编辑器,这样即使管理员密码被盗,也无法通过它植入代码。更新照常工作。
  • 关闭 XML-RPC,可堵住通过它进行的批量猜密码和 pingback 洪水攻击。如果你用的插件(例如 Jetpack)需要它,ShieldWave 会先提醒你。
  • 另有两个开关:阻止上传目录中的 PHP(可用“立即检查”测试),以及发送服务器尚未发送的安全响应头。所有开关在你打开之前都是关闭的,也都不会修改 wp-config.php。

登录检查和垃圾信息陷阱

  • 全部默认关闭。在登录、注册和密码重置时进行机器人验证:由浏览器解一道小题,或使用你自己密钥的 Cloudflare Turnstile。
  • 出现在数据泄露中的新密码会被拒绝。只有密码 SHA-1 哈希的前 5 个字符会离开网站。
  • 可自选的隐藏登录地址,可通过 wp-config.php 或 wp shieldwave login-url off 恢复。
  • 垃圾信息陷阱:隐藏字段和签名时间戳可识别评论、注册、Contact Form 7 和 WPForms 中由程序填写的表单。

请求防火墙

  • 在你打开之前保持关闭。本地规则覆盖常见注入攻击和可执行文件上传,按 IP、地址段和国家封禁,请求和 404 次数限制,以及范围很窄的例外。
  • 它在其他插件加载之前检查请求,在使用 CGI 或 FastCGI 的主机上甚至在 WordPress 之前。它不向任何地方发送请求数据。
  • 先用“仅记录”模式,查看历史记录,再切换到“拦截”。它运行在你的服务器上,不是云端 WAF。

活动日志

  • 记录登录、创建和删除的账号、角色变更、谁编辑了文章或页面(从不记录内容),以及插件和主题的变更。可按类型和人员筛选,可导出 CSV。
  • 每条记录都带有一个包含上一条记录的密钥哈希,因此在 ShieldWave 之外被修改或删除的记录会显露出来。
ShieldWave 设置:登录保护,失败 5 次后封锁 20 分钟,并有一个受信任的地址;双重验证登录已可开始设置。 ShieldWave 设置:登录保护,失败 5 次后封锁 20 分钟,并有一个受信任的地址;双重验证登录已可开始设置。
它们都在“设置”里,默认值是安全的。

可选,打开之前一直关闭

五项外部服务,在你打开之前都是关闭的。前三项来自 shieldwave.io,让 ShieldWave 在两次发布之间保持最新。每一项在你打开之前,都会准确说明它会发送什么。连接 shieldwave.io 账户的说明见下文。

已知漏洞

需手动开启

将每个已安装的插件、主题和 WordPress 版本与已公开的漏洞比对,付费的也包括在内,并指出适用于你当前版本的修复版本。数据来自 Wordfence Intelligence,每条结果都链接到对应记录。发送的内容:版本和文件夹名称,绝不包括你的站点地址。

签名威胁源

需手动开启

新的检测规则、文件指纹和虚拟补丁会在两次插件发布之间送达你的站点。只有当威胁源的 Ed25519 签名与插件内置的密钥一致时,插件才会使用它,而且威胁源永远无法关闭插件的关键规则。虚拟补丁只有在我们读过安全公告和厂商的修复、并用普通请求测试之后,才会进入威胁源;在你的站点上,它只记录匹配的请求,直到你允许它拦截。发送的内容:仅插件版本。

AI 复核

需手动开启

对于规则无法判断的文件,会把一段脱敏后的片段发给语言模型,请它用大白话给出结论。主机名、电子邮件地址以及任何类似密钥或密码的内容会先被删除,wp-config.php 绝不会被发送。AI 的结论可以为不明确的文件定性,但永远不会推翻规则已确认为恶意的文件。

泄露密码检查

需手动开启

设置密码时,以及每周登录时,密码 SHA-1 哈希的前 5 个字符会发送到 Have I Been Pwned 的 Pwned Passwords 服务,其余部分由插件在你的服务器上比对。使用这类密码的账号会被要求修改密码,但不会被封锁。发送内容:哈希的 5 个字符,从不发送密码或用户名。

Cloudflare Turnstile

需手动开启

两种机器人验证之一。内置验证由浏览器解一道小题,不向任何地方发送数据。使用 Turnstile 时,登录表单会加载 Cloudflare 的脚本,你的服务器会把每个答案连同你的密钥发送给 Cloudflare 验证。需要你自己 Cloudflare 账户的密钥。如果连不上 Cloudflare,表单照常提交。

连接到 shieldwave.io(可选)

插件读取的是你的文件,看不到访客或机器人眼中的网站。连接之后会多一个外部视角,分三步完成。

1. 连接

在 WordPress 中依次打开 ShieldWave,设置,ShieldWave 账户,然后点击“使用 shieldwave.io 连接”。登录或创建免费账户并确认。你会回到已连接的 WordPress,无需复制任何密钥。

2. 内外一起看

你的 shieldwave.io 控制台会把插件的得分和未解决的问题,与外部扫描并排显示:20 多项检查从外部进行,不需要密码,也无需访问你的服务器。比如它会显示别人能否冒用你的域名发邮件,HTTPS 和安全标头是怎么设置的,以及哪些文件任何人都能下载。连接还会确认该域名属于你,完整的外部扫描需要这一点。

3. 需要时获取报告

完整的外部扫描一次 $9,无需订阅:一份你能读懂的报告,以及一份开发者可以据此报价的说明。免费账户在一个控制台中显示所有已连接的站点。Pro 每月 $12,增加最多 25 个站点的完整外部扫描、定时检查和报告。查看套餐

不连接,插件也一直免费。全部 25 项检查、定时扫描、邮件提醒、登录保护和双重验证登录都保持免费,没有限制。控制台无法更改站点上的任何内容,“断开连接”会把站点及其结果从 shieldwave.io 移除。

连接期间,首页会带有一个不可见的标签,用来确认该域名属于你。发送的内容:站点 ID、地址和各项版本、得分、发现的问题,以及已安装的插件和主题。绝不发送:文章、页面、评论、用户名、电子邮件地址或密码。

免费查看互联网眼中的你的网站,无需账户

尊重你注意力的提醒

每次扫描最多一封邮件,只针对新出现或变严重的问题,同一个问题绝不发两次,每天最多四封。未能运行的检查会标为“未运行”,绝不算作通过。

别只听我们说

透明度页面列出了在你站点上运行的内容、它绝不会做的事,以及究竟有哪些数据离开你的服务器。威胁源可以用一段简短的脚本验证,脚本里固定写入了插件的公钥。

阅读 ShieldWave 的工作原理 (英文)

curl -O https://shieldwave.io/verify/shieldwave-verify-feed.mjs
node shieldwave-verify-feed.mjs

更新内容

  1. 1.1.282026年10月22日

    登录地址、机器人验证和双重验证登录的 WP-CLI 救援命令现在使用“设置”页面给出的名称。只用通行密钥作为第二步的账号,会看到设备丢失后如何重新登录。自定义登录地址的提示只有在邮件确实发出时才说已发邮件。在 Cloudflare 后面,国家封禁无需手动填写 Cloudflare 地址段。全部 16 种语言的翻译已审校。

  2. 1.1.272026年10月22日

    可选的通行密钥免密码登录,登录、注册和密码重置时的机器人验证,用已知泄露数据检查新密码,自定义登录地址,以及评论、注册、Contact Form 7 和 WPForms 的垃圾信息陷阱。全部默认关闭。活动日志现在会记录登录、账号和角色变更、编辑和插件变更,新增的检查会在最近 7 天没有备份时提醒你。

  3. 1.1.262026年10月21日

    可选的请求防火墙,在你打开之前保持关闭:针对常见注入攻击和可执行文件上传的规则、按 IP 和国家封禁、请求次数限制和范围很窄的例外。先用“仅记录”,查看历史记录,再切换到拦截。它运行在你的服务器上,不发送请求数据。

  4. 1.1.252026年10月21日

    启用后,插件会询问一次是否开启漏洞提醒、威胁情报源和虚拟补丁,并说明哪些数据会离开网站。AI 复核仍是单独的选择。被注入到主题、你自己的插件、uploads 目录、文章或选项中的代码可以清除:你会看到确切的改动,插件先做备份,每次清理都可以撤销。

  5. 1.1.242026年10月21日

    PHP 版本检查会把你的版本与 php2shell(CVE-2026-109618 和 CVE-2026-109619)的修复对比,PHP 于 2026 年 10 月 21 日在 8.5.12、8.4.27、8.3.36 和 8.2.35 中发布了修复。更旧的版本会被报为高风险。主机商常在不改版本号的情况下打补丁,所以该发现会请你向主机商确认。

  6. 1.1.232026年10月20日

    误报更少。插件自己写入的虚拟补丁文件、你自己的缓存插件的缓存文件、cPanel 为 LiteSpeed 上的 PHP 写入的处理程序,以及缓存或 SSL 插件添加到 wp-config.php 的设置,不再被报为高风险;把插件的 ZIP 上传覆盖旧版本,也不再出现误报的高风险。建议里不再说删除你认不出的东西,而是说询问你的开发者或主机商,并保留一份备份。未使用的主题可以直接从对应的发现中删除。在 PHP 8.2 及更早版本上,超大文章的内容检查速度很快。

  7. 1.1.212026年10月19日

    被修改的核心、插件或主题文件可以一键替换为 WordPress.org 的原版;被修改的文件会留在隔离区。新增一项检查,分别以访客、Googlebot 和搜索来源访客的身份读取首页和结账页。会读取所有站点选项、Code Snippets 和账户数据以查找隐藏代码,能发现在用户列表中被隐藏的管理员,关闭防护时会要求输入密码。连接账户后,诱饵被访问的记录会以地址的带密钥哈希形式显示在 shieldwave.io 控制台中。

  8. 1.1.202026年10月16日

    修复两处误报:站点文件夹已关闭 display_errors 时 PHP 仍在页面上输出错误,以及 WordPress 只改写了 .htaccess 中属于自己的那一段后,.htaccess 被报为已修改。

  9. 1.1.192026年10月16日

    诱饵,打开之前一直关闭:没有任何账户使用的登录名,以及 robots.txt 中一个没有任何链接指向的路径;任何使用都会被拒绝、记录并发邮件通知。可检测要求粘贴命令的假验证码页面(ClickFix)、假浏览器更新、从区块链合约读取代码的加载器(EtherHiding)和银行卡盗刷脚本,覆盖文件和已存储的内容。

  10. 1.1.182026年10月12日

    虚拟补丁和安全更新,两者在你打开之前都是关闭的。开启实时威胁源后,一个小型必用插件文件会拦截利用已安装插件已知漏洞的请求;每个补丁只记录匹配的请求,直到你允许它拦截。安全更新通过 WordPress 自带的自动更新,安装修复已知漏洞的版本(需要 WordPress 6.6 或更高版本)。未使用的插件和未使用的主题各算一项发现,因此概览和 shieldwave.io 显示相同的数量。在 open_basedir 严格的主机上不再出现 PHP 警告,通过 ZIP 安装更新后,也不再让所有文件看起来都被修改过。

  11. 1.1.172026年10月12日

    得分遵循与 shieldwave.io 相同的严重程度区间:存在未解决的严重发现时,得分保持在 39 或以下;存在高风险发现时,保持在 40 到 59 之间。可检测文件投放型后门。

  12. 1.1.162026年10月12日

    各处得分一致:概览、每周邮件、WP-CLI 和 shieldwave.io 都显示随上次扫描存储的得分。已知漏洞按所需的访问权限评级,同一个原因只产生一项发现。

  13. 1.1.152026年10月12日

    扫描器未能看到的内容单独作为备注,不计入得分。只有服务器返回文件本身的前几个字节时,才算文件可下载。与 shieldwave.io 使用同一套等级:90 分起为 A,80 分起为 B,60 分起为 C,40 分起为 D。

  14. 1.1.142026年10月11日

    作者在 WordPress.org 之外发布的插件,例如 WP Engine 的 Advanced Custom Fields,会与作者发布的源码比对。缺失的文件按每个插件或主题算一项发现,严重程度取决于别人现在能在站点上做什么。

  15. 1.1.132026年10月9日

    更新后不再立刻出现误报。在对 WordPress.org 最受欢迎的 200 个插件中的 147,858 个文件做完全面检查后,收紧了六条恶意软件规则,并在这个版本中修复了对整个插件做安全审查时发现的问题。

  16. 1.1.122026年10月8日

    带“还原”的隔离区、阻止 uploads 中的 PHP、安全标头、对所选角色强制双重验证登录、通行密钥和会话列表。每一项在你打开它或点击对应按钮之前都是关闭的。在多站点网络中,插件为网络启用。

  17. 1.1.102026年10月8日

    按用户名和密码重置请求限制登录次数、受信任代理、条目以哈希相连且可导出为 CSV 的活动日志,以及 WordPress 隐私工具。AI 复核在发送任何内容之前会删除更多信息。

  18. 1.1.92026年10月8日

    可从对应的发现中删除未使用的插件,并减少了八处误报。

  19. 1.1.82026年10月7日

    修复在 PHP 没有 tokenizer 扩展的主机上出现的扫描错误。

  20. 1.1.72026年10月7日

    发现会说明文件位于哪个插件、主题或文件夹,以及在那里该怎么做。旧的 ShieldWave 副本不再被报为恶意软件。

  21. 1.1.62026年10月7日

    修复多站点网络中的页面显示问题,两条旧的 WordPress 记录不再被报为漏洞。

  22. 1.1.52026年10月7日

    站点与 shieldwave.io 使用同一种语言:已连接的账户会按站点语言发送邮件、生成报告和显示控制台。

  23. 1.1.42026年10月6日

    已知漏洞检查和威胁源改为每小时运行一次,原来是每三小时一次。

  24. 1.1.32026年10月6日

    uploads 中的普通图片不再被报为 PHP 文件。

  25. 1.1.22026年10月5日

    在大显示器上,页面保持 WordPress 后台的尺寸:窗口越宽,列表空间越大,而不是字越大。页眉、状态栏和列表共用同一条边缘,星球上会显示更多针对你站点的机器人流量。

  26. 1.1.12026年9月30日

    夏令时切换或你选择其他时区后,自动扫描会保持在你选定的整点,之前会偏移一小时。指向 shieldwave.io 的链接带有活动标记,扫描之后概览会用一句话说明对你站点的免费外部检测。

  27. 1.1.02026年9月29日

    在插件的设置中一键连接站点到 shieldwave.io,无需复制密钥。免费账户在控制台中显示一个站点,连接通过首页上的不可见标签确认该域名属于你。断开连接会把站点及其结果从 shieldwave.io 移除。旧的 ShieldWave Security 可以删除,不会丢失它的设置和结果。

  28. 1.0.32026年9月29日

    概览更清晰,采用 shieldwave.io 的外观,页面适配大显示器和手机。

  29. 1.0.22026年9月29日

    提醒邮件在 Windows 版 Outlook 中显示正常,浅色和深色模式均可。

  30. 1.0.12026年9月29日

    插件除英语外支持 16 种语言,包括采用从右到左布局的阿拉伯语。

  31. 1.0.02026年9月28日

    以 Ensomedia Security powered by shieldwave.io 为名上架 WordPress.org 插件目录,更新由那里提供。版本号从 1.0.0 重新开始,下面的版本是从 shieldwave.io 下载的版本。

  32. 3.6.62026年9月27日

    插件不再接受来自站点之外的指令:ShieldWave 控制台只显示结果,无法启动扫描或更改设置,带签名的唤醒路由也已移除。所有数据库查询都使用预处理,包括表名,因此需要 WordPress 6.2 或更高版本。

  33. 3.6.52026年9月27日

    以 Ensomedia Security powered by shieldwave.io 为名在 WordPress.org 上架。页面和设置没有变化。

  34. 3.6.42026年9月27日

    待办数量居中显示在工具栏的盾牌图标里。

  35. 3.6.32026年9月26日

    仅修改 readme 和注释的措辞,用于 WordPress.org 审核:API 端点写成普通路径,注释里用文字写出“script tag”。行为没有变化。

  36. 3.6.22026年9月26日

    来自我们自己审查的安全修复:多站点现在对整个网络提供保护,而不只是主站点;来自控制台的远程更改只能提高防护,不能降低;关闭双重验证或生成新代码时需要再次确认;错误的代码现在会逐级升级处理并给账户所有者发邮件;AI 的结论对不明确的发现最多只能降低一级;当服务器的 PHP 带有 libsodium 时,双重验证的密钥会在数据库中加密保存。

  37. 3.6.12026年9月26日

    来自我们自己审查的安全修复:某些登录表单、带额外标头的请求和 XML-RPC,即使开启了双重验证,也能只凭密码登录。现在每次登录都会要求输入验证码,登录成功也不再清零登录失败次数。

  38. 3.6.02026年9月25日

    加固开关:一键关闭文件编辑器和 XML-RPC,无需修改 wp-config.php。发现会直接打开对应的修复开关。

  39. 3.5.52026年9月25日

    登录保护现在如它所承诺的那样,不再向未登录的访客通过 REST API、嵌入内容和站点地图透露用户名。

  40. 3.5.42026年9月25日

    重复扫描会重新检查已标记的文件,而不是把它们标为已解决;drop-in 所需的插件永远不会被判为未使用;开启登录保护时会信任你当前的地址。

  41. 3.5.32026年9月25日

    AI 的意见永远无法降低规则或已知恶意清单所确认的发现的级别。

  42. 3.5.22026年9月25日

    AI 的结论不能再降低规则已确认为恶意的文件的级别。

  43. 3.5.12026年9月25日

    发往 ShieldWave 的请求不再带有你的站点地址,而 WordPress 默认会把它加到发出的请求里。

  44. 3.5.02026年9月25日

    支持验证器应用代码和恢复代码的双重验证登录。

  45. 3.4.02026年9月25日

    登录保护:多次登录失败后临时封锁,并且不再能枚举出用户名。