问题一:Application Passwords 403 错误
现象
在 WordPress 后台个人资料页面,应用密码功能无法使用,REST API 请求 /wp-json/wp/v2/users/1/application-passwords 返回 403 Forbidden。
排查过程
- 确认 nginx 配置正常,
wp-json请求能到达 WordPress - 响应头中出现了异常的
W: 1标识 - 检查 WordPress 插件和主题代码,未发现明确的 REST API 拦截逻辑
- 检查
wp-content/mu-plugins/目录时发现了一个可疑文件fun-fun-mitigation-*.php
根因
wp-content/mu-plugins/ 下的 mu-plugin 包含以下代码:
=!add_filter(rest_pre_dispatch,function(){header(W:1,1,403);die;});
该插件通过 rest_pre_dispatch 钩子拦截了所有 WordPress REST API 请求,直接返回 403 状态码并终止执行。确认该文件非 WordPress 或任何已知插件的正常文件,可能是自动化攻击工具遗留。
修复
移除了该 mu-plugin(保留 .bak 备份),REST API 随即恢复正常,应用密码功能可用。
问题二:Gravatar 头像加载超时
现象
Chrome 控制台报错:
GET https://secure.gravatar.com/avatar/xxx net::ERR_CONNECTION_TIMED_OUT
根因
secure.gravatar.com 服务器位于国外,在国内网络环境下被屏蔽或连接极不稳定,导致头像加载超时。
修复
新增 mu-plugin gravatar-mirror.php,通过 get_avatar_url 过滤器将 Gravatar 域名替换为国内可正常访问的镜像 cravatar.cn。
问题三:jQuery Migrate 提示
现象
控制台输出:JQMIGRATE: Migrate is installed, version 3.4.1
说明
这是 WordPress 自带 jQuery Migrate 插件的正常日志,仅提示当前版本。jQuery Migrate 用于保证旧版插件/主题的 jQuery 代码兼容性,该提示无害,无需处理。
额外清理
在排查过程中发现 wp-content/ 下存在可疑目录 fun-shell-*,内含未知 PHP 文件,已一并清理。
影响范围
- 所有 REST API 端点(包括但不限于应用密码、文章、用户、评论等 API)
- 后台用户个人资料页面的 Gravatar 头像显示
以上问题已于 2026年7月24日 修复完毕。