问题一: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 包含以下代码:

该插件通过 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日 修复完毕。

Leave A Comment

Recommended Posts