function owPost(method, args, callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); $.post('/plugins/run', {name:'op_waf', func:method, args:JSON.stringify(args)}, function(data) { layer.close(loadT); if (!data.status){ layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']}); return; } if(typeof(callback) == 'function'){ callback(data); } },'json'); } function getRuleByName(rule_name, callback){ owPost('get_rule', {rule_name:rule_name}, function(data){ callback(data); }); } function setRequestCode(ruleName, statusCode){ layer.open({ type: 1, title: "设置响应代码【" + ruleName + "】", area: '300px', shift: 5, closeBtn: 2, shadeClose: true, content: '
\
\ 响应代码\
\ \
\
\
\ \
\
' }); } function setState(ruleName){ var statusCode = $('#statusCode').val(); owPost('set_obj_status', {obj:ruleName,statusCode:statusCode},function(data){ var rdata = $.parseJSON(data.data); if (rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); wafGloabl(); } else { layer.msg('设置失败!',{icon:0,time:2000,shade: [0.3, '#000']}); } }); } function setObjOpen(ruleName){ owPost('set_obj_open', {obj:ruleName},function(data){ var rdata = $.parseJSON(data.data); if (rdata.status){ layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']}); wafGloabl(); } else { layer.msg('设置失败!',{icon:0,time:2000,shade: [0.3, '#000']}); } }); } function setCcRule(cycle, limit, endtime, siteName, increase){ var incstr = '
  • 此处设置仅对当前站点有效。
  • '; if (siteName == 'undefined') { incstr = '
  • 此处设置的是初始值,新添加站点时将继承,对现有站点无效。
  • '; } // get_aicc_config(function(res){ var enhance_mode = ''; // if(res.status){ // enhance_mode = 2; // }else{ if(increase){ enhance_mode = 1; }else{ enhance_mode = 0; } // } create_l = layer.open({ type: 1, title: "设置CC规则", area: '540px', closeBtn: 2, shadeClose: false, content: '
    \
    \ 周期\
    \
    \
    \ 频率\
    \
    \
    \ 封锁时间\
    \
    \
    \ 增强模式\
    \ \
    \
    \
    \ 四层防御\
    \ \
    \
    \ \
    \
    ', success:function(layero,index){ // console.log(siteName == 'undefined'); // //\ // if($('[name="enhance_mode"]').val() == 2 && siteName != 'undefined'){ // $('[name="enhance_mode"]').attr('disabled','disabled'); // } // get_stop_ip(function(rdata){ // $('[name="cc_four_defense"]').val(rdata.status?'1':'0'); // }); // $('[name="cc_four_defense"]').change(function(){ // var _val = $(this).val(); // if(_val == '0'){ // set_stop_ip_stop(function(res){ // layer.msg(res.msg,{icon:res.status?1:2}); // }); // }else{ // set_stop_ip(function(res){ // layer.msg(res.msg,{icon:res.status?1:2}); // }); // } // }); // $('.btn_cc_all').click(function(){ // save_cc_rule(siteName,1,$('[name="enhance_mode"]').val()); // layer.close(index); // }); // $('.btn_cc_present').click(function(){ // save_cc_rule(siteName,0,$('[name="enhance_mode"]').val()); // layer.close(index); // }); } }); // }); } //设置retry规则 function setRetry(retry_cycle, retry, retry_time, siteName) { create_layer = layer.open({ type: 1, title: "设置恶意容忍规则", area: '500px', closeBtn: 2, shadeClose: false, content: '
    \
    \ 周期\
    \
    \
    \ 频率\
    \
    \
    \ 封锁时间\
    \
    \ \
    \ ', success:function(){ $('.btn_retry_all').click(function(){ saveRetry(siteName,1); }); $('.btn_retry_present').click(function(){ saveRetry(siteName,0); }); } }); } //保存retry规则 function saveRetry(siteName,type) { var pdata = { siteName: siteName, retry: $("input[name='retry']").val(), retry_time: $("input[name='retry_time']").val(), retry_cycle: $("input[name='retry_cycle']").val(), is_open_global:type } var act = 'set_retry'; if (siteName != undefined) act = 'set_site_retry'; owPost(act, pdata, function(data){ var rdata = $.parseJSON(data.data); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); layer.close(create_layer); wafGloablRefresh(1000); }); } //URL白名单 function urlWhite(type) { if (type == undefined) { layer.open({ type: 1, title: "管理URL白名单", area: ['500px', '400px'], closeBtn: 2, shadeClose: false, content: '
    标准模式-URL白名单
    增强模式—URL白名单
    \
    \
    \
    \ \ \
    \
    \
    \ \ \ \ \ \ \ \ \
    URL操作
    \
    \
    \ \ \
    \
    \
    \ \
      \
    • 所有规则对白名单中的URL无效,包括IP黑名单和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"); } 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] + '\ 删除\ ' } $("#url_white_con").html(tbody); }); } //设置规则 function setObjConf(ruleName, type) { if (type == undefined) { create_l = layer.open({ type: 1, title: "编辑规则【" + ruleName + "】", area: ['700px', '530px'], closeBtn: 2, shadeClose: false, content: '
    \
    \ \ \ \
    \
    \
    \ \ \ \ \ \ \ \ \ \ \
    规则说明操作状态
    \
    \
    \
      \
    • 注意:如果您不了解正则表达式,请不要随意修改规则内容
    • \
    • 您可以添加或修改规则内容,但请使用正则表达式
    • \
    • 内置规则允许修改,但不可以直接删除,您可以设置规则状态来定义防火墙是否使用此规则
    • \
    ' }); tableFixed("jc-file-table"); } getRuleByName(ruleName, function(data){ var tmp = $.parseJSON(data.data); var rdata = $.parseJSON(tmp.data); var tbody = '' for (var i = 0; i < rdata.length; i++) { var removeRule = '' if (rdata[i][3] != 0) removeRule = ' | 删除'; tbody += '\ ' + rdata[i][1] + '\ ' + rdata[i][2] + '\ 编辑' + removeRule + '\ \
    \ \ \
    \ \ ' } $("#set_obj_conf_con").html(tbody); }); } //常用扫描器 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: '
    \
    \ Header\
    \
    \
    \ Cookie\
    \
    \
    \ Args\
    \
    \
      \
    • 会同时过滤key和value,请谨慎设置
    • \
    • 请使用正则表达式,提交前应先备份原有表达式
    • \
    \
    \ \
    \
    ' }); }); } //保存扫描器规则 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操作
    \
    \
    \
    \ \ \
    \
      \
    • 所有规则对白名单中的IP段无效,包括IP黑名单和URL黑名单,IP白名单具备最高优先权
    • \
    \
    \
    \
    ', success:function(index,layero){ // $('.tab_list .tab_block').click(function(){ // $(this).addClass('active').siblings().removeClass('active'); // console.log($(this).index()); // if($(this).index() === 0){ // $('.ipv4_list').show().next().hide(); // }else{ // $('.ipv4_list').hide().next().show(); // } // }); //
    IPv4白名单
    IPv6白名单
    \ } }); tableFixed("ipWhite"); } getRuleByName('ip_white', function(data){ var tmp = $.parseJSON(data.data); var rdata = $.parseJSON(tmp.data); var tbody = '' for (var i = 0; i < rdata.length; i++) { tbody += '\ '+ rdata[i][0].join('.') + '\ '+ rdata[i][1].join('.') + '\ 删除\ ' } $("#ip_white_con").html(tbody); }); } //IP黑名单 function ipBlack(type) { if (type == undefined) { create_l = layer.open({ type: 1, title: "管理IP黑名单", area: ['500px', '500px'], closeBtn: 2, shadeClose: false, content: '
    IPv4黑名单
    IPv6黑名单
    \
    \
    \ \ \ \
    \
    \
    \ \ \ \ \ \ \ \ \ \
    超始IP结束IP操作
    \
    \
    \ \ \
    \
    \
      \
    • 黑名单中的IP段将被禁止访问,IP白名单中已存在的除外
    • \
    \
    \
    \
    \ \ \
    \
    \
    \ \ \ \
    IPv6地址操作
    \
    \
    \
      \
    • 黑名单中的IP段将被禁止访问,IP白名单中已存在的除外
    • \
    \
    ', success:function(index,layero){ $('.tab_list .tab_block').click(function(){ $(this).addClass('active').siblings().removeClass('active'); if($(this).index() === 0){ $('.ipv4_block').show().next().hide(); // var loadT = layer.msg('正在获取防火墙配置..', { icon: 16, time: 0 }); // get_ipv4_address(function(rdata){ // layer.close(loadT); // var tbody = '' // for (var i = 0; i < rdata.length; i++) { // tbody += '\ // '+ rdata[i][0].join('.') + '\ // '+ rdata[i][1].join('.') + '\ // 删除\ // ' // } // $("#ip_black_con").html(tbody) // }); getRuleByName('ip_black', 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][0].join('.') + '\ '+ rdata[i][1].join('.') + '\ 删除\ ' } $("#ip_black_con").html(tbody); }); }else{ $('.ipv4_block').hide().next().show(); // var loadT = layer.msg('正在获取防火墙配置..', { icon: 16, time: 0 }); // get_ipv6_address(function(res){ // layer.close(loadT); // var tbody = '',rdata = res.msg; // for (var i = 0; i < rdata.length; i++) { // tbody += '\ // '+ rdata[i] + '\ // 删除\ // ' // } // $("#ipv6_black_con").html(tbody) // }); } }); $('.btn_add_ipv6').click(function(){ var ipv6 = $('[name="ipv6_address"]').val(); var loadT = layer.msg('正在添加ipv6黑名单数据,请稍后...', { icon: 16, time: 0 }); add_ipv6_req(ipv6,function(res){ layer.close(loadT); layer.msg(res.msg,{icon:res.status?1:2}); if(res.status){ $('[name="ipv6_address"]').val(''); $('.tab_list .tab_block:eq(1)').click(); } }); }); $('.tab_list .tab_block:eq(0)').click(); } }); tableFixed("ipBlack"); } } //URL黑名单 function urlBlack(type) { if (type == undefined) { create_l = layer.open({ type: 1, title: "管理URL黑名单", area: ['500px', '400px'], closeBtn: 2, shadeClose: false, content: '
    \
    \ \ \
    \
    \
    \ \ \ \ \ \ \ \ \
    URL操作
    \
    \
    \ \ \
    \
    \
      \
    • 禁止访问URL黑名单,URL白名单和IP白名单中存在时除外
    • \
    ' }); tableFixed("urlBlack"); } getRuleByName('url_black', 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] + '\ 删除\ ' } $("#url_black_con").html(tbody); }); } function wafScreen(){ owPost('waf_srceen', {}, function(data){ var rdata = $.parseJSON(data.data); console.log(rdata); var con = '
    总拦截'+rdata.total+'
    '; con += '
    安全防护0
    '; con += '
    \
    POST渗透'+rdata.rules.post+'
    \
    GET渗透0
    \
    CC攻击'+rdata.rules.cc+'
    \
    恶意User-Agent'+rdata.rules.user_agent+'
    \
    Cookie渗透'+rdata.rules.cookie+'
    \
    恶意扫描0
    \
    恶意HEAD请求0
    \
    URI自定义拦截0
    \
    URI保护0
    \
    恶意文件上传0
    \
    禁止的扩展名0
    \
    禁止PHP脚本0
    \
    '; con += '
      \
    • 在此处关闭防火墙后,所有站点将失去保护
    • \
    • 网站防火墙会使nginx有一定的性能损失(<5% 10C静态并发测试结果)
    • \
    • 网站防火墙仅主要针对网站渗透攻击,暂时不具备系统加固功能
    • \
    '; $(".soft-man-con").html(con); }); } function wafGloablRefresh(time){ setTimeout(function(){ wafGloabl(); }, time); } function wafGloabl(){ owPost('waf_conf', {}, function(data){ var rdata = $.parseJSON(data.data); var con = '
    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    名称描述响应状态操作
    CC防御防御CC攻击,具体防御参数请到站点配置中调整'+rdata.cc.status+'
    \ \
    \
    初始规则
    恶意容忍度封锁连续恶意请求,请到站点配置中调整容忍阈值' + rdata.cc.status + '--初始规则
    GET-URI过滤'+ rdata.get.ps + '' + rdata.get.status + '
    \ \ \
    规则 | 响应内容
    GET-参数过滤'+ rdata.get.ps + '' + rdata.get.status + '
    \ \ \
    规则 | 响应内容
    POST过滤'+ rdata.post.ps + '' + rdata.post.status + '
    \ \ \
    规则 | 响应内容
    User-Agent过滤'+ rdata['user-agent'].ps + '' + rdata['user-agent'].status + '
    \ \ \
    规则 | 响应内容
    Cookie过滤'+ rdata.cookie.ps + '' + rdata.cookie.status + '
    \ \ \
    规则 | 响应内容
    常见扫描器'+ rdata.scan.ps + '' + rdata.scan.status + '
    \ \ \
    设置
    IP白名单所有规则对IP白名单无效----设置
    IP黑名单禁止访问的IP' + rdata.cc.status + '--设置
    URL白名单大部分规则对URL白名单无效----设置
    URL黑名单禁止访问的URL地址' + rdata.get.status + '--设置
    其它'+ rdata.other.ps + '----响应内容
    \
    '; con += '
      \
    • 继承: 全局设置将在站点配置中自动继承为默认值
    • \
    • 优先级: IP白名单>IP黑名单>URL白名单>URL黑名单>CC防御>禁止国外IP访问>User-Agent>URI过滤>URL参数>Cookie>POST
    • \
    '; $(".soft-man-con").html(con); }); } //返回css function back_css(v) { if (v > 0) { return 'tipsval' } else { return 'tipsval tipsvalnull' } } //查看网站日志 function siteWafLog(siteName) { var loadT = layer.msg('正在处理,请稍候..', { icon: 16, time: 0 }); owPost('get_logs_list', { siteName: siteName } , function (data) { var tmp = $.parseJSON(data.data); var rdata = tmp.data; var selectLogDay = ""; var day = rdata[0]; for (var i = 0; i < rdata.length; i++) { selectLogDay += ''; } if (rdata == "") { layer.msg("暂无日志记录", { icon: 6, shade: 0.3, time: 1000 }); return } layer.open({ type: 1, title: "日志【" + siteName + "】", area: ['880px', '500px'], closeBtn: 2, shadeClose: false, content: '
    \
    \
    \
    \
    \ \ \ \
    时间用户IP类型URI地址User-Agent状态过滤器过滤规则操作
    \
    \
    \
    \
    \
    ' }); siteLogCon(siteName, day, 1); tableFixed("site_waf_log"); }); } //日志内容 function siteLogCon(siteName, day, page) { if (!page) page = 1; var last = page - 1; var next = page + 1; var pagehtml = ''; $("#site_waf_log").scrollTop(0); owPost('get_safe_logs', { siteName: siteName, toDate: day, p: page }, function(data){ var tmp = $.parseJSON(data.data); if (!tmp.status){ layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); return; } var rdata = tmp.data; var con = ''; for (var i = 0; i < rdata.length; i++) { con += '\ '+ escapeHTML(rdata[i][0]) + '\ ' + escapeHTML(rdata[i][1]) + '\ '+ escapeHTML(rdata[i][2]) + '\ '+ escapeHTML(rdata[i][3]) + '\ '+ escapeHTML(rdata[i][4]) + '已拦截\ '+ escapeHTML(rdata[i][5]) + '\ '+ escapeHTML(rdata[i][6]) + '\ 误报 | 详细\ ' } $("#LogDayCon").html(con); pagehtml = '首页上一页下一页第 ' + page + ' 页'; $("#size_log_page").html(pagehtml); if (rdata.length < 1) $(".nextPage").hide(); if (last < 1) $(".prevPage").hide(); // 发送误报请求 $(".submit_msg").click(function () { var _this = $(this); var res = rdata[$(this).attr('data-index')]; layer.confirm('是否确定提交误报反馈?', { title: '误报反馈',closeBtn:2,icon:3}, function () { var url_address = res[3]; var rule_arry = res[6].split(" >> "); var pdata = { url_rule: url_address }; var loadT = layer.msg('正在添加URL白名单..', { icon: 16, time: 0 }); $.post('/plugin?action=a&name=btwaf&s=add_url_white', pdata, function (rdata) { layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); layer.close(loadT); if (rule_arry[1] != undefined){ $.get('https://www.bt.cn/Api/add_waf_logs?data=' + rule_arry[1],function(rdata){},'jsonp')} }); }); }) // 详情 $(".btwaf_details").click(function () { var res = rdata[$(this).attr('data-index')]; var time = res[0]; //时间 var ip_address = res[1]; //IP地址 var req_type = res[2]; // 请求类型 var url_address = res[3]; // 请求类型 var user_agent = res[4]; // 请求类型 var filters = res[5]; //过滤器 var filter_rule = ''; //过滤规则 var rule_arry = res[6].split(" >> "); var incoming_value = '',risk_value = ''; //传入值,风险值 if(rule_arry.length == 0) filter_rule = rule_arry[0] incoming_value = rule_arry[1] == undefined?'空':rule_arry[1]; risk_value = incoming_value.match(new RegExp(rule_arry[0].replace(/\//g,'\\/'),'i')); risk_value = risk_value?risk_value[0]:'空'; layer.open({ type: 1, title: time + "详情", area: '600px', closeBtn: 2, shadeClose: false, content: '
    \ \
    时间'+ escapeHTML(time) + '用户IP' + escapeHTML(ip_address) + '
    类型' + escapeHTML(req_type) + '过滤器' + escapeHTML(filters) + '
    \
    URI地址
    \
    '+ escapeHTML(url_address) + '
    \
    User-Agent
    \
    '+ escapeHTML(user_agent) + '
    \
    过滤规则
    \
    '+ escapeHTML(rule_arry[0]) + '
    \
    传入值
    \
    '+ escapeHTML(incoming_value) + '
    \
    风险值
    \
    '+ escapeHTML(risk_value) + '
    \
    ' }) }) $("#LogDayCon td").click(function () { $(this).parents("tr").addClass("active").siblings().removeClass("active"); }); }); } function html_encode(value) { return $('
    ').html(value).text(); } function html_decode(value) { return $('
    ').text(value).html(); } //CDN-Header配置 function cdnHeader(siteName, type) { if (type == undefined) { create_l = layer.open({ type: 1, title: "管理网站【" + siteName + "】CDN-Headers", area: ['500px', '500px'], closeBtn: 2, shadeClose: false, content: '
    \
    \ \ \
    \
    \
    \ \ \ \ \ \ \ \ \
    header操作
    \
    \
    \
      \
    • 防火墙将尝试在以上header中获取客户IP
    • \
    ' }); tableFixed("cdnHeader"); } owPost('get_site_config_byname', { siteName: siteName }, function(data){ var tmp = $.parseJSON(data.data); var t1 = tmp.data; var rdata = t1['cdn_header']; var tbody = '' for (var i = 0; i < rdata.length; i++) { tbody += '\ '+ rdata[i] + '\ 删除\ ' } $("#cdn_header_con").html(tbody); }); } //添加CDN-Header function addCdnHeader(siteName) { var pdata = { cdn_header: $("input[name='cdn_header_key']").val(), siteName: siteName } if (pdata['cdn_header'] == '') { layer.msg('header不能为空'); $("input[name='cdn_header_key']").focus(); return; } owPost('add_site_cdn_header', pdata, function(data){ var rdata = $.parseJSON(data); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); if (rdata.status) { setTimeout(function(){ cdnHeader(siteName, 1); },1000); } }); } //删除CDN-Header function removeCdnHeader(siteName, cdn_header_key) { owPost('remove_site_cdn_header', { siteName: siteName, cdn_header: cdn_header_key }, function(data){ var rdata = $.parseJSON(data.data); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); if (rdata.status) { setTimeout(function(){ cdnHeader(siteName, 1); },1000); } }); } //网站规则设置 function setSiteObjConf(siteName, ruleName, type) { if (type == undefined) { create_l = layer.open({ type: 1, title: "编辑网站【" + siteName + "】规则【" + ruleName + "】", area: ['700px', '530px'], closeBtn: 2, shadeClose: false, content: '
    \
    \
    \ \ \ \ \ \ \ \ \ \
    规则说明状态
    \
    \
    \
      \
    • 此处继承全局设置中已启用的规则
    • \
    • 此处的设置仅对当前站点有效
    • \
    ' }); tableFixed("SetSiteObjConf"); } getRuleByName(ruleName, function(data){ var tmp = $.parseJSON(data.data); var rdata = $.parseJSON(tmp.data); var tbody = ''; var tbody = ''; for (var i = 0; i < rdata.length; i++) { if (rdata[i][0] == -1) continue; tbody += '\ '+ rdata[i][1] + '\ '+ rdata[i][2] + '\ \
    \
    \ \ ' } $("#set_site_obj_conf_con").html(tbody) }); } //网站设置 function siteWafConfig(siteName, type) { if (type == undefined) { create_2 = layer.open({ type: 1, title: "网站配置【" + siteName + "】", area: ['700px', '500px'], closeBtn: 2, shadeClose: false, content: '
    ' }); } owPost('get_site_config_byname', { siteName: siteName }, function(data){ var tmp = $.parseJSON(data.data); var rdata = tmp.data; console.log(rdata); nginx_config = rdata; var con = '
    \
    \ 网站防火墙开关\
    \ \ \
    \
    \
    \
    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    名称描述状态操作
    CC防御'+ rdata.cc.cycle + ' 秒内,请求同一URI累计超过 ' + rdata.cc.limit + ' 次,封锁IP ' + rdata.cc.endtime + '\
    \ \ \
    \
    设置
    恶意容忍设置'+ rdata.retry.retry_cycle + ' 秒内,累计超过 ' + rdata.retry.retry + ' 次恶意请求,封锁IP ' + rdata.retry.retry_time + '  --设置
    GET-URI过滤'+ rdata.get.ps + '\
    \ \ \
    \
    规则
    GET-参数过滤'+ rdata.get.ps + '\
    \ \ \
    \
    规则
    POST过滤'+ rdata.post.ps + '\
    \ \ \
    \
    规则
    User-Agent过滤'+ rdata['user-agent'].ps + '\
    \ \ \
    \
    规则
    Cookie过滤'+ rdata.cookie.ps + '\
    \ \ \
    \
    规则
    常见扫描器'+ rdata.scan.ps + '\
    \ \ \
    \
    设置
    使用CDN该站点使用了CDN,启用后方可正确获取客户IP\
    \ \ \
    \
    设置
    禁止扩展名禁止访问指定扩展名  --设置
    禁止上传的文件类型禁止上传指定的文件类型  --设置
    \
    \
    \
      \
    • 注意: 此处大部分配置,仅对当前站点有效!
    • \
    \
    '; $("#s_w_c").html(con); }); } function wafSite(){ owPost('get_site_config', {}, function(data){ var tmp = $.parseJSON(data.data); var rdata = $.parseJSON(tmp.data); console.log(rdata); var tbody = ''; var i = 0; $.each(rdata, function (k, v) { console.log(k,v); i += 1; tbody += '\ ' + k + '\ \ ' + v.total[1].value + '\ \ \ ' + v.total[0].value + '\ \ \ ' + v.total[3].value + '\ \ \ ' + v.total[4].value + '\ \ \ \ \ \ ' + v.total[2].value + '\ \ \
    \ \ \
    \ \ 日志 | 设置\ ' }); var con = '
    \
    \
    \
    \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '+ tbody + '\
    站点GETPOSTUACookieCDNCC防御状态操作
    \
    \
    \
    \
    '; $(".soft-man-con").html(con); tableFixed("siteCon_fix"); }); } function wafHistory(){ var con = ''; con += '
    \ \ \ \ \ \ \ \ \
    开始时间IP站点封锁原因封锁时长状态
    \
    '; $(".soft-man-con").html(con); } function wafLogs(){ var con = '
    \ \ \ \ \ \ \ \
    名称描述响应状态操作
    \
    '; $(".soft-man-con").html(con); }