WordPress后台保存菜单/发布文章触发云锁WAF误拦截故障排查实录

适用场景:WordPress网站使用云锁WAF防护,后台提交内容时报错、长时间转圈、直接被IP临时封禁;网站前台访问正常,浏览器退出后台后网站自动恢复,仅后台提交操作失败。

一、故障现象

  • 在WordPress后台导航菜单页面(/wp-admin/nav-menus.php)修改子菜单名称,点击保存后页面长时间转圈,随后弹出WAF致命错误,当前IP被临时拦截。
  • 在文章编辑器粘贴包含HTML、SQL代码片段的技术内容,点击发布/保存草稿,同样触发云锁拦截,无法提交。
  • 网站前台访问完全正常;浏览器关闭页面、退出后台,网站自动恢复可访问,修改的内容不会生效。
  • 云锁防护日志提示:命中XSS防护规则(IMG标签类XSS,规则编号201),检测来源为POST提交正文数据。

二、故障根本原因

云锁WAF的201号XSS防护规则,会对POST提交的正文内容做标签特征检测。当在WordPress代码编辑模式粘贴HTML标签、SQL语句等内容时,提交的POST数据命中该规则,云锁判定为XSS攻击,直接触发拦截,临时封禁当前访问IP。

这属于典型的WAF误报,并非网站真的遭到攻击。

额外难点:家用宽带为公网动态IP,IP会不定期自动变化,单纯添加IP白名单无法一劳永逸。

三、最优解决方案(最小改动,不降低整体安全防护)

方案:URL路径例外豁免(推荐)

不关闭全局WAF规则,仅对WordPress后台的提交接口跳过WAF检测,不受公网动态IP变化影响。

  1. 进入云锁防护设置 → 例外列表(文件/目录例外)
  2. 选择「手动添加」,不要直接豁免整个/wp-admin/目录,只添加3个核心提交接口:
    /wp-admin/post.php — 文章编辑、发布、保存草稿接口
    /wp-admin/admin-ajax.php — 导航菜单保存、后台所有AJAX提交操作(本次菜单保存报错的核心接口)
    /wp-admin/async-upload.php — 后台图片、附件上传接口
  3. 保存例外配置即可。

该方案优势:只有这3个后台提交接口跳过检测,网站前台、登录页、其余后台页面的防护全部正常开启,安全敞口最小,也不需要维护动态IP白名单。

备选方案:单独关闭误报的XSS规则

如果不想添加URL例外,可以单独关闭这条容易误报的规则:

  1. 打开云锁Web防护 → 漏洞防护 → XSS防护列表
  2. 找到编号为201%8

发布日期:

所属分类: Wordpress 综合 标签: