pull/109/head
Mr Chen 6 years ago
parent 84e522715d
commit 5d70800bc0
  1. 98
      plugins/op_waf/index.py
  2. 67
      plugins/op_waf/js/op_waf.js

@ -376,7 +376,95 @@ def removeIpWhite():
cjson = public.getJson(content)
public.writeFile(path, cjson)
return public.returnJson(True, '设置成功!')
return public.returnJson(True, '设置成功!')
def addIpBlack():
args = getArgs()
data = checkArgs(args, ['start_ip', 'end_ip'])
if not data[0]:
return data[1]
start_ip = args['start_ip']
end_ip = args['end_ip']
path = getRuleJsonPath('ip_black')
content = public.readFile(path)
content = json.loads(content)
data = []
start_ip_list = start_ip.split('.')
tmp = []
for x in range(len(start_ip_list)):
tmp.append(int(start_ip_list[x]))
end_ip_list = end_ip.split('.')
tmp2 = []
for x in range(len(end_ip_list)):
tmp2.append(int(end_ip_list[x]))
data.append(tmp)
data.append(tmp2)
content.append(data)
cjson = public.getJson(content)
public.writeFile(path, cjson)
return public.returnJson(True, '设置成功!')
def removeIpBlack():
args = getArgs()
data = checkArgs(args, ['index'])
if not data[0]:
return data[1]
index = args['index']
path = getRuleJsonPath('ip_black')
content = public.readFile(path)
content = json.loads(content)
k = content[int(index)]
content.remove(k)
cjson = public.getJson(content)
public.writeFile(path, cjson)
return public.returnJson(True, '设置成功!')
def setIpv6Black():
args = getArgs()
data = checkArgs(args, ['addr'])
if not data[0]:
return data[1]
addr = args['addr'].replace('_',':')
path = getRuleJsonPath('ipv6_black')
content = public.readFile(path)
content = json.loads(content)
content.append(addr)
cjson = public.getJson(content)
public.writeFile(path, cjson)
return public.returnJson(True, '设置成功!')
def delIpv6Black():
args = getArgs()
data = checkArgs(args, ['addr'])
if not data[0]:
return data[1]
addr = args['addr'].replace('_',':')
path = getRuleJsonPath('ipv6_black')
content = public.readFile(path)
content = json.loads(content)
content.remove(addr)
cjson = public.getJson(content)
public.writeFile(path, cjson)
return public.returnJson(True, '设置成功!')
def removeSiteRule():
args = getArgs()
@ -696,6 +784,14 @@ if __name__ == "__main__":
print addIpWhite()
elif func == 'remove_ip_white':
print removeIpWhite()
elif func == 'add_ip_black':
print addIpBlack()
elif func == 'remove_ip_black':
print removeIpBlack()
elif func == 'set_ipv6_black':
print setIpv6Black()
elif func == 'del_ipv6_black':
print delIpv6Black()
elif func == 'remove_site_rule':
print removeSiteRule()
elif func == 'set_obj_status':

@ -667,10 +667,56 @@ function getIpv6Address(callback){
// 添加ipv6请求
function AddIpv6Req(ip,callback){
owPost('set_ipv6_back', {addr:ip}, function(data){
console.log(data);
// if(callback) callback(rdata);
function addIpv6Req(ip,callback){
var ip = ip.replace(/:/g, '_');
owPost('set_ipv6_black', {addr:ip}, function(data){
var rdata = $.parseJSON(data.data);
if(callback) callback(rdata);
});
}
// 添加ipv6请求
function removeIpv6Black(ip,callback){
var ip = ip.replace(/:/g, '_');
owPost('del_ipv6_black', {addr:ip}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg,{icon:rdata.status?1:2});
$('.tab_list .tab_block:eq(1)').click();
if(callback) callback(rdata);
});
}
//添加IP段到IP黑名单
function addIpBlack() {
var pdata = {
start_ip: $("input[name='start_ip']").val(),
end_ip: $("input[name='end_ip']").val()
}
if (pdata['start_ip'].split('.').length < 4 || pdata['end_ip'].split('.').length < 4) {
layer.msg('起始IP或结束IP格式不正确!');
return;
}
owPost('add_ip_black', pdata, function(data){
var rdata = $.parseJSON(data.data);
if (rdata.status) {
ipBlack(1);
}
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
});
}
//从IP黑名单删除IP段
function removeIpBlack(index) {
owPost('remove_ip_black', { index: index }, function (data) {
var rdata = $.parseJSON(data.data);
if (rdata.status) {
ipBlack(1);
}
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
});
}
@ -688,7 +734,7 @@ function ipBlack(type) {
<div style="border-bottom:#ccc 1px solid;margin-bottom:10px;padding-bottom:10px">\
<input class="bt-input-text" name="start_ip" type="text" value="" style="width:150px;margin-right:15px;margin-left:5px" placeholder="起始IP地址">\
<input class="bt-input-text mr5" name="end_ip" type="text" style="width:150px;margin-left:5px;margin-right:20px" placeholder="结束IP地址">\
<button class="btn btn-success btn-sm va0 pull-right" onclick="add_ip_black();">添加</button>\</div>\
<button class="btn btn-success btn-sm va0 pull-right" onclick="addIpBlack();">添加</button>\</div>\
<div class="divtable">\
<div id="ipBlack" style="max-height:300px;overflow:auto;border:#ddd 1px solid">\
<table class="table table-hover" style="border:none">\
@ -739,7 +785,7 @@ function ipBlack(type) {
tbody += '<tr>\
<td>'+ rdata[i][0].join('.') + '</td>\
<td>'+ rdata[i][1].join('.') + '</td>\
<td class="text-right"><a class="btlink" onclick="remove_ip_black('+ i + ')">删除</a></td>\
<td class="text-right"><a class="btlink" onclick="removeIpBlack('+ i + ')">删除</a></td>\
</tr>'
}
$("#ip_black_con").html(tbody);
@ -747,12 +793,11 @@ function ipBlack(type) {
}else{
$('.ipv4_block').hide().next().show();
getIpv6Address(function(res){
// console.log(res);
var tbody = '',rdata = res;
for (var i = 0; i < rdata.length; i++) {
tbody += '<tr>\
<td>'+ rdata[i] + '</td>\
<td class="text-right"><a class="btlink" onclick="remove_ipv6_black(\''+ rdata[i] + '\')">删除</a></td>\
<td class="text-right"><a class="btlink" onclick="removeIpv6Black(\''+ rdata[i] + '\')">删除</a></td>\
</tr>'
}
$("#ipv6_black_con").html(tbody);
@ -761,8 +806,7 @@ function ipBlack(type) {
});
$('.btn_add_ipv6').click(function(){
var ipv6 = $('[name="ipv6_address"]').val();
add_ipv6_req(ipv6,function(res){
layer.close(loadT);
addIpv6Req(ipv6, function(res){
layer.msg(res.msg,{icon:res.status?1:2});
if(res.status){
$('[name="ipv6_address"]').val('');
@ -774,6 +818,8 @@ function ipBlack(type) {
}
});
tableFixed("ipBlack");
} else {
$('.tab_list .tab_block:eq(0)').click();
}
}
@ -817,7 +863,6 @@ function wafGloablRefresh(time){
}, time);
}
function wafGloabl(){
owPost('waf_conf', {}, function(data){
var rdata = $.parseJSON(data.data);

Loading…
Cancel
Save