找出问题,自己不改任何东西。
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 或更高版本
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.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、地址和各项版本、得分、发现的问题,以及已安装的插件和主题。绝不发送:文章、页面、评论、用户名、电子邮件地址或密码。
尊重你注意力的提醒
每次扫描最多一封邮件,只针对新出现或变严重的问题,同一个问题绝不发两次,每天最多四封。未能运行的检查会标为“未运行”,绝不算作通过。
别只听我们说
透明度页面列出了在你站点上运行的内容、它绝不会做的事,以及究竟有哪些数据离开你的服务器。威胁源可以用一段简短的脚本验证,脚本里固定写入了插件的公钥。
curl -O https://shieldwave.io/verify/shieldwave-verify-feed.mjs node shieldwave-verify-feed.mjs
更新内容
- 1.1.282026年10月22日
登录地址、机器人验证和双重验证登录的 WP-CLI 救援命令现在使用“设置”页面给出的名称。只用通行密钥作为第二步的账号,会看到设备丢失后如何重新登录。自定义登录地址的提示只有在邮件确实发出时才说已发邮件。在 Cloudflare 后面,国家封禁无需手动填写 Cloudflare 地址段。全部 16 种语言的翻译已审校。
- 1.1.272026年10月22日
可选的通行密钥免密码登录,登录、注册和密码重置时的机器人验证,用已知泄露数据检查新密码,自定义登录地址,以及评论、注册、Contact Form 7 和 WPForms 的垃圾信息陷阱。全部默认关闭。活动日志现在会记录登录、账号和角色变更、编辑和插件变更,新增的检查会在最近 7 天没有备份时提醒你。
- 1.1.262026年10月21日
可选的请求防火墙,在你打开之前保持关闭:针对常见注入攻击和可执行文件上传的规则、按 IP 和国家封禁、请求次数限制和范围很窄的例外。先用“仅记录”,查看历史记录,再切换到拦截。它运行在你的服务器上,不发送请求数据。
- 1.1.252026年10月21日
启用后,插件会询问一次是否开启漏洞提醒、威胁情报源和虚拟补丁,并说明哪些数据会离开网站。AI 复核仍是单独的选择。被注入到主题、你自己的插件、uploads 目录、文章或选项中的代码可以清除:你会看到确切的改动,插件先做备份,每次清理都可以撤销。
- 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 中发布了修复。更旧的版本会被报为高风险。主机商常在不改版本号的情况下打补丁,所以该发现会请你向主机商确认。
- 1.1.232026年10月20日
误报更少。插件自己写入的虚拟补丁文件、你自己的缓存插件的缓存文件、cPanel 为 LiteSpeed 上的 PHP 写入的处理程序,以及缓存或 SSL 插件添加到 wp-config.php 的设置,不再被报为高风险;把插件的 ZIP 上传覆盖旧版本,也不再出现误报的高风险。建议里不再说删除你认不出的东西,而是说询问你的开发者或主机商,并保留一份备份。未使用的主题可以直接从对应的发现中删除。在 PHP 8.2 及更早版本上,超大文章的内容检查速度很快。
- 1.1.212026年10月19日
被修改的核心、插件或主题文件可以一键替换为 WordPress.org 的原版;被修改的文件会留在隔离区。新增一项检查,分别以访客、Googlebot 和搜索来源访客的身份读取首页和结账页。会读取所有站点选项、Code Snippets 和账户数据以查找隐藏代码,能发现在用户列表中被隐藏的管理员,关闭防护时会要求输入密码。连接账户后,诱饵被访问的记录会以地址的带密钥哈希形式显示在 shieldwave.io 控制台中。
- 1.1.202026年10月16日
修复两处误报:站点文件夹已关闭 display_errors 时 PHP 仍在页面上输出错误,以及 WordPress 只改写了 .htaccess 中属于自己的那一段后,.htaccess 被报为已修改。
- 1.1.192026年10月16日
诱饵,打开之前一直关闭:没有任何账户使用的登录名,以及 robots.txt 中一个没有任何链接指向的路径;任何使用都会被拒绝、记录并发邮件通知。可检测要求粘贴命令的假验证码页面(ClickFix)、假浏览器更新、从区块链合约读取代码的加载器(EtherHiding)和银行卡盗刷脚本,覆盖文件和已存储的内容。
- 1.1.182026年10月12日
虚拟补丁和安全更新,两者在你打开之前都是关闭的。开启实时威胁源后,一个小型必用插件文件会拦截利用已安装插件已知漏洞的请求;每个补丁只记录匹配的请求,直到你允许它拦截。安全更新通过 WordPress 自带的自动更新,安装修复已知漏洞的版本(需要 WordPress 6.6 或更高版本)。未使用的插件和未使用的主题各算一项发现,因此概览和 shieldwave.io 显示相同的数量。在 open_basedir 严格的主机上不再出现 PHP 警告,通过 ZIP 安装更新后,也不再让所有文件看起来都被修改过。
- 1.1.172026年10月12日
得分遵循与 shieldwave.io 相同的严重程度区间:存在未解决的严重发现时,得分保持在 39 或以下;存在高风险发现时,保持在 40 到 59 之间。可检测文件投放型后门。
- 1.1.162026年10月12日
各处得分一致:概览、每周邮件、WP-CLI 和 shieldwave.io 都显示随上次扫描存储的得分。已知漏洞按所需的访问权限评级,同一个原因只产生一项发现。
- 1.1.152026年10月12日
扫描器未能看到的内容单独作为备注,不计入得分。只有服务器返回文件本身的前几个字节时,才算文件可下载。与 shieldwave.io 使用同一套等级:90 分起为 A,80 分起为 B,60 分起为 C,40 分起为 D。
- 1.1.142026年10月11日
作者在 WordPress.org 之外发布的插件,例如 WP Engine 的 Advanced Custom Fields,会与作者发布的源码比对。缺失的文件按每个插件或主题算一项发现,严重程度取决于别人现在能在站点上做什么。
- 1.1.132026年10月9日
更新后不再立刻出现误报。在对 WordPress.org 最受欢迎的 200 个插件中的 147,858 个文件做完全面检查后,收紧了六条恶意软件规则,并在这个版本中修复了对整个插件做安全审查时发现的问题。
- 1.1.122026年10月8日
带“还原”的隔离区、阻止 uploads 中的 PHP、安全标头、对所选角色强制双重验证登录、通行密钥和会话列表。每一项在你打开它或点击对应按钮之前都是关闭的。在多站点网络中,插件为网络启用。
- 1.1.102026年10月8日
按用户名和密码重置请求限制登录次数、受信任代理、条目以哈希相连且可导出为 CSV 的活动日志,以及 WordPress 隐私工具。AI 复核在发送任何内容之前会删除更多信息。
- 1.1.92026年10月8日
可从对应的发现中删除未使用的插件,并减少了八处误报。
- 1.1.82026年10月7日
修复在 PHP 没有 tokenizer 扩展的主机上出现的扫描错误。
- 1.1.72026年10月7日
发现会说明文件位于哪个插件、主题或文件夹,以及在那里该怎么做。旧的 ShieldWave 副本不再被报为恶意软件。
- 1.1.62026年10月7日
修复多站点网络中的页面显示问题,两条旧的 WordPress 记录不再被报为漏洞。
- 1.1.52026年10月7日
站点与 shieldwave.io 使用同一种语言:已连接的账户会按站点语言发送邮件、生成报告和显示控制台。
- 1.1.42026年10月6日
已知漏洞检查和威胁源改为每小时运行一次,原来是每三小时一次。
- 1.1.32026年10月6日
uploads 中的普通图片不再被报为 PHP 文件。
- 1.1.22026年10月5日
在大显示器上,页面保持 WordPress 后台的尺寸:窗口越宽,列表空间越大,而不是字越大。页眉、状态栏和列表共用同一条边缘,星球上会显示更多针对你站点的机器人流量。
- 1.1.12026年9月30日
夏令时切换或你选择其他时区后,自动扫描会保持在你选定的整点,之前会偏移一小时。指向 shieldwave.io 的链接带有活动标记,扫描之后概览会用一句话说明对你站点的免费外部检测。
- 1.1.02026年9月29日
在插件的设置中一键连接站点到 shieldwave.io,无需复制密钥。免费账户在控制台中显示一个站点,连接通过首页上的不可见标签确认该域名属于你。断开连接会把站点及其结果从 shieldwave.io 移除。旧的 ShieldWave Security 可以删除,不会丢失它的设置和结果。
- 1.0.32026年9月29日
概览更清晰,采用 shieldwave.io 的外观,页面适配大显示器和手机。
- 1.0.22026年9月29日
提醒邮件在 Windows 版 Outlook 中显示正常,浅色和深色模式均可。
- 1.0.12026年9月29日
插件除英语外支持 16 种语言,包括采用从右到左布局的阿拉伯语。
- 1.0.02026年9月28日
以 Ensomedia Security powered by shieldwave.io 为名上架 WordPress.org 插件目录,更新由那里提供。版本号从 1.0.0 重新开始,下面的版本是从 shieldwave.io 下载的版本。
- 3.6.62026年9月27日
插件不再接受来自站点之外的指令:ShieldWave 控制台只显示结果,无法启动扫描或更改设置,带签名的唤醒路由也已移除。所有数据库查询都使用预处理,包括表名,因此需要 WordPress 6.2 或更高版本。
- 3.6.52026年9月27日
以 Ensomedia Security powered by shieldwave.io 为名在 WordPress.org 上架。页面和设置没有变化。
- 3.6.42026年9月27日
待办数量居中显示在工具栏的盾牌图标里。
- 3.6.32026年9月26日
仅修改 readme 和注释的措辞,用于 WordPress.org 审核:API 端点写成普通路径,注释里用文字写出“script tag”。行为没有变化。
- 3.6.22026年9月26日
来自我们自己审查的安全修复:多站点现在对整个网络提供保护,而不只是主站点;来自控制台的远程更改只能提高防护,不能降低;关闭双重验证或生成新代码时需要再次确认;错误的代码现在会逐级升级处理并给账户所有者发邮件;AI 的结论对不明确的发现最多只能降低一级;当服务器的 PHP 带有 libsodium 时,双重验证的密钥会在数据库中加密保存。
- 3.6.12026年9月26日
来自我们自己审查的安全修复:某些登录表单、带额外标头的请求和 XML-RPC,即使开启了双重验证,也能只凭密码登录。现在每次登录都会要求输入验证码,登录成功也不再清零登录失败次数。
- 3.6.02026年9月25日
加固开关:一键关闭文件编辑器和 XML-RPC,无需修改 wp-config.php。发现会直接打开对应的修复开关。
- 3.5.52026年9月25日
登录保护现在如它所承诺的那样,不再向未登录的访客通过 REST API、嵌入内容和站点地图透露用户名。
- 3.5.42026年9月25日
重复扫描会重新检查已标记的文件,而不是把它们标为已解决;drop-in 所需的插件永远不会被判为未使用;开启登录保护时会信任你当前的地址。
- 3.5.32026年9月25日
AI 的意见永远无法降低规则或已知恶意清单所确认的发现的级别。
- 3.5.22026年9月25日
AI 的结论不能再降低规则已确认为恶意的文件的级别。
- 3.5.12026年9月25日
发往 ShieldWave 的请求不再带有你的站点地址,而 WordPress 默认会把它加到发出的请求里。
- 3.5.02026年9月25日
支持验证器应用代码和恢复代码的双重验证登录。
- 3.4.02026年9月25日
登录保护:多次登录失败后临时封锁,并且不再能枚举出用户名。