当前位置:论坛首页 > Linux面板 > 讨论

linux ubuntu 9.6.0 系统防火墙用api调用例子

发表在 Linux面板2025-8-20 10:14 [复制链接] 1 109

费了半天劲,总算调试通了,以下两个函数,显示系统防火墙白名单ip列表,给白名单里增加新ip
  1. __BT_PANEL = 'https://*.*.*.*:34415'
  2.     def get_firewall_rules(self):
  3.         # 修改为使用新的IP规则列表接口
  4.         url = self.__BT_PANEL + '/firewall/com/ip_rules_list'
  5.         p_data = self.__get_key_data()
  6.         p_data['chain'] = "ALL"
  7.         p_data['p'] = 1  # 添加分页参数
  8.         p_data['row'] = 30  # 获取足够多的规则
  9.         result = self.__http_post_cookie(url, p_data)
  10.         return json.loads(result) if result else {"data": []}

  11.     def add_firewall_rule(self, ip):
  12.         # 修改为使用新的设置IP规则接口
  13.         url = self.__BT_PANEL + '/firewall/com/set_ip_rule'
  14.         p_data = self.__get_key_data()
  15.         # 构建符合新接口要求的参数
  16.         p_data['types'] = 'accept'
  17.         p_data['brief'] = 'API_ADD_HOME'
  18.         p_data['address'] = ip
  19.         p_data['chain'] = 'INPUT'  
  20.         p_data['family'] = 'ipv4'  
  21.         p_data['zone'] = 'public'  
  22.         p_data['operation'] = 'add'
  23.         p_data['strategy'] = 'accept'
  24.         result = self.__http_post_cookie(url, p_data)
  25.         try:
  26.             return json.loads(result)
  27.         except:
  28.             return {"status": False, "msg": result}
复制代码


使用道具 举报 只看该作者 回复
发表于 2025-8-20 16:22:30 | 显示全部楼层
感谢大佬的分享!!
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表