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无效,包括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: ''
});
});
}
//保存扫描器规则
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();
// }
// });
// \
}
});
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: '\
\
\
\
\
添加 \
\
\
\
\
\
\
超始IP \
结束IP \
操作 \
\
\
\
\
\
\
导入 \
导出 \
\
\
\
黑名单中的IP段将被禁止访问,IP白名单中已存在的除外 \
\
\
\
\
\
添加 \
\
\
\
黑名单中的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白名单和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 = '';
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 += '' + rdata[i] + ' ';
}
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: '\
' + selectLogDay + '
\
\
\
\
\
时间 用户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: '\
\
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();
}
//添加站点过滤规则
function addSiteRule(siteName, ruleName) {
var pdata = {
ruleValue: $("input[name='site_rule_value']").val(),
siteName: siteName,
ruleName: ruleName
}
if (pdata['ruleValue'] == '') {
layer.msg('过滤规则不能为空');
$("input[name='site_rule_value']").focus();
return;
}
owPost('add_site_rule', pdata, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
if (rdata.status) {
setTimeout(function(){
siteRuleAdmin(siteName, ruleName, 1);
},1000);
}
});
}
//删除站点过滤规则
function removeSiteRule(siteName, ruleName, index) {
var pdata = {
index: index,
siteName: siteName,
ruleName: ruleName
}
owPost('remove_site_rule', pdata, function(data){
console.log(data);
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
if (rdata.status) {
if (ruleName == 'url_tell') {
site_url_tell(siteName, 1);
return;
}
if (ruleName == 'url_rule') {
site_url_rule(siteName, 1);
return;
}
setTimeout(function(){
siteRuleAdmin(siteName, ruleName, 1);
},1000);
}
});
}
//网站规则管理
function siteRuleAdmin(siteName, ruleName, type) {
var placeho = '';
var ps = '';
var title = '';
switch (ruleName) {
case 'disable_php_path':
placeho = 'URI地址,支持正则表达式';
ps = '此处请不要包含URI参数,一般针对目录URL,示例:/admin '
title = '禁止运行PHP的URL地址'
break;
case 'disable_path':
placeho = 'URI地址,支持正则表达式';
ps = '此处请不要包含URI参数,一般针对目录URL,示例:/admin '
title = '禁止访问的URL地址'
break;
case 'disable_ext':
placeho = '扩展名,不包含点(.),示例:sql';
ps = '直接填要被禁止访问的扩展名,如我希望禁止访问*.sql文件:sql '
title = '禁止访问的扩展名'
break;
case 'disable_upload_ext':
placeho = '扩展名,不包含点(.),示例:sql';
ps = '直接填要被禁止访问的扩展名,如我希望禁止上传*.php文件:php '
title = '禁止上传的文件类型'
break;
}
if (type == undefined) {
create_l = layer.open({
type: 1,
title: "管理网站过滤规则【" + title + "】",
area: ['500px', '500px'],
closeBtn: 2,
shadeClose: false,
content: '\
\
\
添加 \
\
\
\
除正则表达式语句外规则值对大小写不敏感,建议统一使用小写 '+ ps + '\
'
});
tableFixed("siteRuleAdmin");
}
owPost('get_site_rule', { siteName: siteName, ruleName: ruleName }, 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] + ' \
删除 \
'
}
$("#site_rule_admin_con").html(tbody);
});
}
//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中获取客户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 setSiteObjState(siteName, obj) {
// var loadT = layer.msg('正在处理,请稍候..', { icon: 16, time: 0 });
owPost('set_site_obj_open', { siteName: siteName, obj: obj } , function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
setTimeout(function(){
siteWafConfig(siteName, 1);
// siteConfig();
},1000);
});
// $.post('/plugin?action=a&name=btwaf&s=set_site_obj_open', { siteName: siteName, obj: obj }, function (rdata) {
// layer.close(loadT);
// site_waf_config(siteName, 1);
// siteconfig();
// layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
// });
}
//网站规则设置
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 = '';
$("#s_w_c").html(con);
});
}
function wafSite(){
owPost('get_site_config', {}, function(data){
var tmp = $.parseJSON(data.data);
var rdata = $.parseJSON(tmp.data);
var tbody = '';
var i = 0;
$.each(rdata, function (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 = '\
\
\
\
\
\
\
站点 \
GET \
POST \
UA \
Cookie \
CDN \
CC防御 \
状态 \
操作 \
\
\
'+ tbody + ' \
\
\
\
\
';
$(".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);
}