【待反馈】系统防火墙导出规则报错
面板版本:宝塔linux面板 7.9.4
系统版本:Debian GNU/Linux 11 x86_64
浏览器版本:Google Chrome 104.0.5112.102
问题现象:宝塔“系统防火墙”(版本:3.2)端口规则无法导出,点击“导出规则”后面板报错。
重现方式:
在软件商店中管理“系统防火墙”,点击“导出规则”后面板直接报错。
没学过Python,扫了一眼代码,考虑是firewall_main.py中get_file()方法传参错误带来的问题。这个方法的return调用了宝塔公共库public.py中的send_file()方法。这个方法又封装了flask库里的send_file()方法,缺省了除了文件地址、类型和文件名之外的参数。firewall_main.py调用的时候,仍按照flask库的方法要求在传参,导致了报错。
解决方案:修改firewall_main.py中的get_file()方法
def get_file(self, args):
filename = args.filename
mimetype = "application/octet-stream"
fname = os.path.basename(filename)
if not os.path.exists(filename): return abort(404)
return send_file(filename, fname, mimetype)
问题解决。 您好,您到这里 导出可以吗?插件的系统防火墙是有点问题,开发者正在抽空看
页:
[1]