ESC
输入关键词搜索文章

宝塔面板升级 13.0. 0后,Nginx 免费防火墙 8.3 出现 bug 的解决方案

全文约 256 字 预计阅读 1 分钟

需要修改 /www/server/panel/plugin/free_waf/free_waf_main.py

第 1 步:替换 def get_safe_logs 函数中的 cgi 代码(第 725 行起,共 3 处)
import cgi 改为 import html
cgi.escape(line) 改为 html.escape(line, quote=False) ←★关键,不能漏 quote=False
cgi.escape(..., True) 改为 html.escape(..., quote=True)(第 768 行,字段防 XSS 转义)

第 2 步:替换 def xssencode 函数中的 cgi 代码(第 202 行起,共 2 处)
import cgi 改为 import html
cgi.escape 改为 html.escape(第 211 行,完整写法:html.escape(str_convert, quote=True)

第 3 步:第 747 行 bytes 比较
== "\n" -> == b"\n"(二进制模式读出来的是 bytes,和 str 比较永远不相等)

第 4 步:第 76、82、87 行三个正则加 r 前缀、点号转义(\d 在非原始字符串里属无效转义序列,Python 3.12+ 每次加载都报 SyntaxWarning,未来版本会变语法错误)
"\d+.\d+.\d+.\d+-\d+.\d+.\d+.\d+$" -> r"\d+\.\d+\.\d+\.\d+-\d+\.\d+\.\d+\.\d+$"
"\d+.\d+.\d+.\d+/\d+$" -> r"\d+\.\d+\.\d+\.\d+/\d+$"
"\d+.\d+.\d+.\d+$" -> r"\d+\.\d+\.\d+\.\d+$"

宝塔面板升级 13.0. 0后,Nginx 免费防火墙 8.3 出现 bug 的解决方案
无责任编辑
aijun
发布时间
2026 年 9 月 4 日
最后编辑时间
2026 年 9 月 4 日
版权协议
广告 广告位招租 联系站长投放广告 了解更多 →

发表评论

行为验证™ 安全组件加载中...

评论 暂无评论