解决宝塔 Nginx 免费防火墙误拦截“含代码内容” 添加 URL 白名单最有效
› 社区话题 › wordpress开发 › 解决宝塔 Nginx 免费防火墙误拦截“含代码内容” 添加 URL 白名单最有效

- 作者帖子
- 2025年9月13日 - 下午5:25 #1083
追光管理员主题:宝塔面板 · Nginx防火墙 · 误拦截 · URL白名单 · 代码发布被拦截
日期:2025年9月13日?️ 问题背景
最近在自己的博客后台发布技术文章时,频繁遇到“403 Forbidden”或“连接被重置(444)”的问题。尤其是当文章中包含 HTML、JavaScript、SQL 示例代码时 比如:
html
alert(\'hello\');
或
sql SELECT FROM users WHERE id = 1;
宝塔的“Nginx免费防火墙”就会拦截,提示:
“检测到攻击行为,已拦截”
查看防火墙日志,发现是被 POST过滤 或 GET-参数过滤 规则命中,误判为 XSS 或 SQL 注入攻击。
这严重影响了正常内容发布流程,尤其是技术类站点,代码是刚需!
? 尝试过的无效方案
❌ 关闭 POST 过滤 → 虽然能发,但整站失去防护,不安全
❌ 修改 User-Agent → 无济于事,规则不依赖 UA
❌ 关闭 from-data 协议 → 官方提示“不建议关闭”,且关闭后仍可能被其他规则拦截✅ 最佳解决方案:添加 URL 白名单
经过测试和官方文档验证,URL 白名单 是最安全、最精准、副作用最小的解决方案!
✅ 原理:防火墙对白名单中的 URL 路径跳过大部分检测规则(如POST/GET/UA过滤),但仍保留IP黑名单、CC防御等基础防护。
?️ 操作步骤(图文逻辑版)
第一步:定位你的发布接口 URL
在浏览器中打开你的发布页面,查看地址栏。例如:
WordPress:https://yoursite.com/wp-admin/post.php Typecho:https://yoursite.com/admin/write-post.php 自研系统:https://yoursite.com/api/article/publish
? 记下这个路径,比如:/wp-admin/post.php
第二步:进入宝塔面板 → Nginx 防火墙 → URL白名单
路径:
宝塔面板 → 安全 → Nginx防火墙 → URL白名单 → 点击“设置”第三步:添加url白名单规则
在输入框中,填写你的发布页路径:
/wp-admin/post.php
✅ 支持通配符:
/wp-admin/ → 整个后台目录放行
/publish → 所有含 publish 的接口放行
/api/article/ → API 文章相关接口放行⚠️ 注意:不要添加根路径 /,否则等于关闭全站防护!
第四步:保存 & 测试
点击“保存”,然后:
1. 回到你的发布页面
2. 再次尝试提交含 、SELECT、eval() 的内容
3. ✅ 成功发布!不再拦截!? 附:我的白名单配置参考(WordPress)
/wp-admin/post.php /wp-admin/post-new.php /wp-admin/admin-ajax.php bbpress /forum/* /topic/* /wp-admin/admin-ajax.php
如果你也在被这个问题困扰,欢迎留言交流!
- 作者帖子
- 在下方一键注册,登录后就可以回复啦。