diff --git a/plugins/op_waf/index.py b/plugins/op_waf/index.py index afbc7572d..9d2fe8dbe 100755 --- a/plugins/op_waf/index.py +++ b/plugins/op_waf/index.py @@ -286,6 +286,37 @@ def getRule(): return public.returnJson(True, 'ok', content) +def modifyRule(): + args = getArgs() + data = checkArgs(args, ['index', 'ruleName', 'ruleBody', 'rulePs']) + if not data[0]: + return data[1] + + index = int(args['index']) + ruleName = args['ruleName'] + ruleBody = args['ruleBody'] + rulePs = args['rulePs'] + + fpath = getRuleJsonPath(ruleName) + content = public.readFile(fpath) + content = json.loads(content) + + tmp = content[index] + + tmp_k = [] + tmp_k.append(tmp[0]) + tmp_k.append(ruleBody) + tmp_k.append(rulePs) + tmp_k.append(tmp[3]) + + content[index] = tmp_k + + cjson = public.getJson(content) + public.writeFile(fpath, cjson) + + return public.returnJson(True, '设置成功!', content) + + def getSiteRule(): args = getArgs() data = checkArgs(args, ['siteName', 'ruleName']) @@ -325,6 +356,7 @@ def addSiteRule(): public.writeFile(path, cjson) return public.returnJson(True, '设置成功!') + def addIpWhite(): args = getArgs() data = checkArgs(args, ['start_ip', 'end_ip']) @@ -359,6 +391,7 @@ def addIpWhite(): public.writeFile(path, cjson) return public.returnJson(True, '设置成功!') + def removeIpWhite(): args = getArgs() data = checkArgs(args, ['index']) @@ -378,6 +411,7 @@ def removeIpWhite(): public.writeFile(path, cjson) return public.returnJson(True, '设置成功!') + def addIpBlack(): args = getArgs() data = checkArgs(args, ['start_ip', 'end_ip']) @@ -412,6 +446,7 @@ def addIpBlack(): public.writeFile(path, cjson) return public.returnJson(True, '设置成功!') + def removeIpBlack(): args = getArgs() data = checkArgs(args, ['index']) @@ -431,13 +466,14 @@ def removeIpBlack(): 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('_',':') + addr = args['addr'].replace('_', ':') path = getRuleJsonPath('ipv6_black') content = public.readFile(path) @@ -448,23 +484,25 @@ def setIpv6Black(): 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('_',':') + 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, '设置成功!') + return public.returnJson(True, '设置成功!') + def removeSiteRule(): args = getArgs() @@ -632,6 +670,7 @@ def removeSiteCdnHeader(): public.writeFile(path, cjson) return public.returnJson(True, '删除成功!') + def outputData(): args = getArgs() data = checkArgs(args, ['s_Name']) @@ -642,6 +681,7 @@ def outputData(): content = public.readFile(path) return public.returnJson(True, 'ok', content) + def importData(): args = getArgs() data = checkArgs(args, ['s_Name', 'pdata']) @@ -652,6 +692,7 @@ def importData(): public.writeFile(path, args['pdata']) return public.returnJson(True, '设置成功!') + def getLogsList(): args = getArgs() data = checkArgs(args, ['siteName']) @@ -776,6 +817,8 @@ if __name__ == "__main__": print getConf() elif func == 'get_rule': print getRule() + elif func == 'modify_rule': + print modifyRule() elif func == 'get_site_rule': print getSiteRule() elif func == 'add_site_rule': diff --git a/plugins/op_waf/js/op_waf.js b/plugins/op_waf/js/op_waf.js index bc8f83b82..648da67b7 100755 --- a/plugins/op_waf/js/op_waf.js +++ b/plugins/op_waf/js/op_waf.js @@ -235,112 +235,36 @@ function saveRetry(siteName,type) { } -//URL白名单 -function urlWhite(type) { - if (type == undefined) { - layer.open({ - type: 1, - title: "管理URL白名单", - area: ['500px', '400px'], - closeBtn: 2, - shadeClose: false, - content: '
标准模式-URL白名单
增强模式—URL白名单
\ -
\ -
\ -
\ - \ - \ -
\ -
\ -
\ - \ - \ - \ - \ - \ - \ - \ - \ -
URL操作
\ -
\ -
\ - \ - \ -
\ -
\ -
\ - \ -
', - success:function(layero,index){ - $('.tab_list .tab_block').click(function(){ - var index = $(this).index(); - $(this).addClass('active').siblings().removeClass('active'); - $('.url_block').eq(index).show().siblings().hide(); - if(index == 1) {get_golbls_cc();} - }); - $('.add_increase_white_event').click(function(){ - var _val = $('[name="url_increase_white_address"]').val(); - if(_val == ''){ - layer.msg('URL规则不能为空!'); - return false; - } - add_golbls_cc({text:_val},function(res){ - if(res.status){ - get_golbls_cc(function(){ - if(res.status) get_golbls_cc(function(){ - layer.msg(res.msg,{icon:res.status?1:2}); - }); - }); - $('[name="url_increase_white_address"]').val(''); - } - }); - }); - $('#url_increase_white_con').on('click','.del_golbls_cc',function(){ - var _val = $(this).attr('data-val'); - del_golbls_cc({text:_val},function(res){ - if(res.status) get_golbls_cc(function(){ - layer.msg(res.msg,{icon:res.status?1:2}); - }); - }); - }); - } - }); - tableFixed("urlWhite"); +function modifyRule(index, ruleName) { + var ruleValue = $('.rule_body_' + index).text(); + $('.rule_body_' + index).html(''); + var rulePs = $('.rule_ps_' + index).text(); + $('.rule_ps_' + index).html(''); + $('.rule_modify_' + index).html('保存 | 取消'); + $(".modr_cancel_" + index).click(function () { + $('.rule_body_' + index).html(ruleValue); + $('.rule_ps_' + index).html(rulePs); + $('.rule_modify_' + index).html('编辑'); + }) +} + +function modifyRuleSave(index, ruleName) { + var pdata = { + index: index, + ruleName: ruleName, + ruleBody: $("textarea[name='rule_body_" + index + "']").val(), + rulePs: $("input[name='rule_ps_" + index + "']").val() } + + owPost('modify_rule', pdata, function(data){ + var rdata = $.parseJSON(data.data); - - getRuleByName('url_white', function(data){ - var tmp = $.parseJSON(data.data); - var rdata = $.parseJSON(tmp.data); - console.log(rdata); - var tbody = '' - for (var i = 0; i < rdata.length; i++) { - tbody += '\ - '+ rdata[i] + '\ - 删除\ - ' + layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); + if (rdata.status) { + setTimeout(function(){ + setObjConf(ruleName, 1); + },1000); } - $("#url_white_con").html(tbody); }); } @@ -393,7 +317,7 @@ function setObjConf(ruleName, type) { tbody += '\ ' + rdata[i][1] + '\ ' + rdata[i][2] + '\ - 编辑' + removeRule + '\ + 编辑' + removeRule + '\ \
\ \