diff --git a/plugins/op_waf/index.py b/plugins/op_waf/index.py index d9808314a..7621b2f51 100755 --- a/plugins/op_waf/index.py +++ b/plugins/op_waf/index.py @@ -211,6 +211,23 @@ def setRetry(): def setSiteRetry(): return public.returnJson(True, '设置成功!', []) +def saveScanRule(): + + args = getArgs() + data = checkArgs(args, ['header', 'cookie','args']) + if not data[0]: + return data[1] + + conf = getRuleJsonPath('scan_black') + content = public.readFile(conf) + cobj = json.loads(content) + + cobj['retry'] = args + + cjson = public.getJson(cobj) + public.writeFile(conf, cjson) + + return public.returnJson(True, '设置成功!', []) def setObjOpen(): args = getArgs() @@ -271,6 +288,8 @@ if __name__ == "__main__": print setRetry() elif func == 'set_site_retry': print setSiteRetry() + elif func == 'save_scan_rule': + print saveScanRule() elif func == 'waf_srceen': print getWafSrceen() elif func == 'waf_conf': diff --git a/plugins/op_waf/js/op_waf.js b/plugins/op_waf/js/op_waf.js index ec90a15f4..15f0f15ae 100755 --- a/plugins/op_waf/js/op_waf.js +++ b/plugins/op_waf/js/op_waf.js @@ -382,8 +382,6 @@ function setObjConf(ruleName, type) { }); tableFixed("jc-file-table"); } - var loadT = layer.msg('正在获取配置规则,请稍候..', { icon: 16, time: 0 }); - getRuleByName(ruleName, function(data){ var tmp = $.parseJSON(data.data); @@ -408,6 +406,129 @@ function setObjConf(ruleName, type) { }); } + +//常用扫描器 +function scanRule() { + + getRuleByName('scan_black', function(data){ + var tmp = $.parseJSON(data.data); + var rdata = $.parseJSON(tmp.data); + + create_l = layer.open({ + type: 1, + title: "常用扫描器过滤规则", + area: '650px', + closeBtn: 2, + shadeClose: false, + content: '
' + }); + }); +} + +//保存扫描器规则 +function saveScanRule() { + pdata = { + header: $("textarea[name='scan_header']").val(), + cookie: $("textarea[name='scan_cookie']").val(), + args: $("textarea[name='scan_args']").val() + } + owPost('save_scan_rule', pdata,function(data){ + var rdata = $.parseJSON(data.data); + layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); + layer.close(create_l); + wafGloablRefresh(1000); + }); +} + +//IP白名单 +function ipWhite(type) { + if (type == undefined) { + create_l = layer.open({ + type: 1, + title: "管理IP白名单", + area: ['500px', '500px'], + closeBtn: 2, + shadeClose: false, + content: '超始IP | \ +结束IP | \ +操作 | \ +
---|