'
}
$("#ipv6_black_con").html(tbody);
});
}
});
$('.btn_add_ipv6').click(function(){
var ipv6 = $('[name="ipv6_address"]').val();
addIpv6Req(ipv6, function(res){
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");
} else {
$('.tab_list .tab_block:eq(0)').click();
}
}
function wafScreen(){
owPost('waf_srceen', {}, function(data){
var rdata = $.parseJSON(data.data);
var end_time = Date.now();
var cos_time = (end_time/1000) - parseInt(rdata['start_time']);
var cos_day = parseInt(parseInt(cos_time)/86400);
var con = '
总拦截'+rdata.total+'次
';
con += '
安全防护'+cos_day+'天
';
con += '
\
POST渗透'+rdata.rules.post+'
\
GET渗透'+rdata.rules.args+'
\
CC攻击'+rdata.rules.cc+'
\
恶意User-Agent'+rdata.rules.user_agent+'
\
Cookie渗透'+rdata.rules.cookie+'
\
恶意扫描'+rdata.rules.scan+'
\
恶意HEAD请求0
\
URI自定义拦截'+rdata.rules.url+'
\
URI保护'+rdata.rules.args+'
\
恶意文件上传'+rdata.rules.upload_ext+'
\
禁止的扩展名'+rdata.rules.path+'
\
禁止PHP脚本'+rdata.rules.php_path+'
\
';
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 = '
'
});
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: 1,
shadeClose: false,
content: ''
});
}
owPost('get_site_config_byname', { siteName: siteName }, function(data){
var tmp = $.parseJSON(data.data);
var rdata = tmp.data;
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 += '
';
$(".soft-man-con").html(con);
tableFixed("siteCon_fix");
});
}
function wafAreaLimitRender(){
function keyVal(obj){
var str = [];
$.each(obj, function (index, item) {
if (item == 1) {
if (index == 'allsite') index = '所有站点';
if (index == '海外') index = '中国大陆以外的地区(包括[港,澳,台])';
if (index == '中国') index = '中国大陆(不包括[港,澳,台])';
str.push(index);
}
});
return str.toString();
}
owPost('get_area_limit', {}, function(rdata) {
var rdata = $.parseJSON(rdata.data);
if (!rdata.status) {
layer.msg(rdata.msg, { icon: 2, time: 2000 });
return;
}
var list = '';
var rlist = rdata.data;
for (var i = 0; i < rlist.length; i++) {
var op = '';
var type = rlist[i]['types'] === 'refuse' ? '拦截' : '只放行';
var region_str = keyVal(rlist[i]['region']);
var site_str = keyVal(rlist[i]['site']);
op += '删除';
list += '
';
list += '
' + region_str + '
';
list += '
' + site_str + '
';
list += '
' + type + '
';
list += '
' + op + '
';
list += '
';
}
$('#con_list tbody').html(list);
$('.area_limit_del').click(function(){
var data_id = $(this).data('id');
var site = [],region = [];
$.each(rlist[data_id]['site'], function (index, item) {
site.push(index);
});
$.each(rlist[data_id]['region'], function (index, item) {
region.push(index);
});
var type = rlist[data_id]['types'];
owPost('del_area_limit', {
site:site.toString(),
region:region.toString(),
types:type,
}, function(rdata) {
var rdata = $.parseJSON(rdata.data);
showMsg(rdata.msg, function(){
if (rdata.status){
wafAreaLimit();
}
},{ icon: rdata.status ? 1 : 2 });
});
});
});
}
function wafAreaLimitSwitch(){
owPostN('waf_conf', {}, function(data){
var rdata = $.parseJSON(data.data);
if (rdata['area_limit']){
$('#area_limit_switch').prop('checked', true);
} else{
$('#area_limit_switch').prop('checked',false);
}
});
}
function setWafAreaLimitSwitch(){
var area_limit_switch = $('#area_limit_switch').prop('checked');
// console.log(area_limit_switch);
var area_limit = 'off';
if (!area_limit_switch){
area_limit = 'on';
}
owPostN('area_limit_switch', {'area_limit': area_limit}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
});
}
// 地区限制
function wafAreaLimit(){
var con = '
\
\
\
\
\
\
\
\
地区
\
站点
\
类型
\
操作
\
\
\
\
';
$(".soft-man-con").html(con);
wafAreaLimitRender();
wafAreaLimitSwitch();
$('#create_area_limit').click(function(){
var site_list;
var area_list;
var site_length = 0;
layer.open({
type: 1,
title: '添加地区限制',
area: ['450px','280px'],
closeBtn: 1,
btn: ['添加', '取消'],
content: '
\
\
类型\
\
\
\
\
\
站点\
\
\
\
\
\
地区\
\
\
',
success: function (layers, index) {
document.getElementById('layui-layer' + index).getElementsByClassName('layui-layer-content')[0].style.overflow = 'unset';
site_list = xmSelect.render({
el: '#site_list',
language: 'zn',
toolbar: {show: true,},
paging: true,
pageSize: 10,
data: [],
});
owPostN('get_default_site','', function(rdata){
var rdata = $.parseJSON(rdata.data);
var rlist = rdata.data.list;
var pdata = [];
for (var i = 0; i < rlist.length; i++) {
var tval = rlist[i];
if (tval != 'unset'){
var t = {name:rlist[i],value:rlist[i]};
pdata.push(t);
}
}
site_length = pdata.length;
site_list.update({data:pdata});
});
area_list = xmSelect.render({
el: '#area_list',
language: 'zn',
toolbar: {show: true,},
filterable: true,
data: [],
});
owPostN('get_country','', function(rdata){
var rdata = $.parseJSON(rdata.data);
var rlist = rdata.data;
var pdata = [];
for (var i = 0; i < rlist.length; i++) {
var tval = rlist[i];
if (tval != 'unset'){
var t = {name:tval,value:tval};
pdata.push(t);
}
}
area_list.update({data:pdata});
});
},
yes: function (indexs) {
var reg_type = $('select[name="type"]').val();
var site_val = site_list.getValue('value');
var area_val = area_list.getValue('value');
if (area_val.length <1) return layer.msg('地区最少选一个!', { icon: 2 });
if (site_val.length <1) return layer.msg('站点最少选一个!', { icon: 2 });
var site = '';
if (site_length === site_val.length) {
site = 'allsite';
} else {
site = site_val.join();
}
var area = area_val.join();
var region = area.replace('中国大陆以外的地区(包括[中国特别行政区:港,澳,台])', '海外')
.replace('中国大陆(不包括[中国特别行政区:港,澳,台])', '中国')
.replace('中国香港', '香港')
.replace('中国澳门', '澳门')
.replace('中国台湾', '台湾');
owPost('add_area_limit',{
site:site,
types:reg_type,
region:region,
}, function(rdata){
var rdata = $.parseJSON(rdata.data);
showMsg(rdata.msg, function(){
if (rdata.status){
layer.close(indexs);
wafAreaLimit();
}
},{ icon: rdata.status ? 1 : 2 });
});
},
});
});
}
function wafLogRequest(page){
var args = {};
args['page'] = page;
args['page_size'] = 10;
args['site'] = $('select[name="site"]').val();
var query_date = 'today';
if ($('#time_choose').attr("data-name") != ''){
query_date = $('#time_choose').attr("data-name");
} else {
query_date = $('#search_time button.cur').attr("data-name");
}
args['query_date'] = query_date;
args['tojs'] = 'wafLogRequest';
owPost('get_logs_list', args, function(rdata){
var rdata = $.parseJSON(rdata.data);
var list = '';
var data = rdata.data.data;
if (data.length > 0){
for(i in data){
list += '
\
';
$('#ws_table').html(table);
$('#wsPage').html(rdata.data.page);
$(".tablescroll .details").click(function(){
var index = $(this).attr('data-id');
var res = data[index];
var ip = res.ip;
var time = getLocalTime(res.time);
layer.open({
type: 1,
title: "【"+res.domain + "】详情",
area: '600px',
closeBtn: 1,
shadeClose: false,
content: '