pull/321/head
midoks 2 years ago
parent ddeef3c17e
commit a7d861de22
  1. 28
      class/core/firewall_api.py
  2. 9
      class/core/mw.py

@ -342,6 +342,28 @@ class firewall_api:
status = request.form.get('status', '1')
return mw.getJson(self.setFw(status))
def setFwIptables(self, status):
# iptables特殊处理
if status == '1':
mw.execShell('service iptables save')
mw.execShell('service iptables stop')
else:
# 重新导入数据
_list = mw.M('firewall').field('id,port,ps,addtime').limit(
'0,1000').order('id desc').select()
for x in _list:
port = x['port']
if mw.isIpAddr(port):
cmd = 'iptables -I INPUT -s ' + port + ' -j DROP'
mw.execShell(cmd)
else:
self.addAcceptPort(port)
mw.execShell('service iptables save')
mw.execShell('service iptables start')
def setFw(self, status):
if status == '1':
if self.__isUfw:
@ -352,8 +374,7 @@ class firewall_api:
elif self.__isMac:
pass
else:
mw.execShell('service iptables save')
mw.execShell('service iptables stop')
self.setFwIptables(status)
else:
if self.__isUfw:
mw.execShell("echo 'y'| ufw enable")
@ -363,8 +384,7 @@ class firewall_api:
elif self.__isMac:
pass
else:
mw.execShell('service iptables save')
mw.execShell('service iptables restart')
self.setFwIptables(status)
return mw.returnData(True, '设置成功!')

@ -219,6 +219,15 @@ def isInstalledWeb():
return False
def isIpAddr(ip):
check_ip = re.compile(
'^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$')
if check_ip.match(ipAddr):
return True
else:
return False
def restartWeb():
return opWeb("reload")

Loading…
Cancel
Save