mirror of
https://github.com/midoks/mdserver-web.git
synced 2026-10-18 23:45:52 +08:00
update
This commit is contained in:
@@ -211,6 +211,23 @@ def setRetry():
|
|||||||
def setSiteRetry():
|
def setSiteRetry():
|
||||||
return public.returnJson(True, '设置成功!', [])
|
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():
|
def setObjOpen():
|
||||||
args = getArgs()
|
args = getArgs()
|
||||||
@@ -271,6 +288,8 @@ if __name__ == "__main__":
|
|||||||
print setRetry()
|
print setRetry()
|
||||||
elif func == 'set_site_retry':
|
elif func == 'set_site_retry':
|
||||||
print setSiteRetry()
|
print setSiteRetry()
|
||||||
|
elif func == 'save_scan_rule':
|
||||||
|
print saveScanRule()
|
||||||
elif func == 'waf_srceen':
|
elif func == 'waf_srceen':
|
||||||
print getWafSrceen()
|
print getWafSrceen()
|
||||||
elif func == 'waf_conf':
|
elif func == 'waf_conf':
|
||||||
|
|||||||
+125
-4
@@ -382,8 +382,6 @@ function setObjConf(ruleName, type) {
|
|||||||
});
|
});
|
||||||
tableFixed("jc-file-table");
|
tableFixed("jc-file-table");
|
||||||
}
|
}
|
||||||
var loadT = layer.msg('正在获取配置规则,请稍候..', { icon: 16, time: 0 });
|
|
||||||
|
|
||||||
|
|
||||||
getRuleByName(ruleName, function(data){
|
getRuleByName(ruleName, function(data){
|
||||||
var tmp = $.parseJSON(data.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: '<form class="bt-form pd20 pb70">\
|
||||||
|
<div class="line">\
|
||||||
|
<span class="tname">Header</span>\
|
||||||
|
<div class="info-r"><textarea style="margin: 0px;width:475px;height: 75px;line-height:20px" class="bt-input-text" name="scan_header" >'+ rdata.header + '</textarea></div>\
|
||||||
|
</div>\
|
||||||
|
<div class="line">\
|
||||||
|
<span class="tname">Cookie</span>\
|
||||||
|
<div class="info-r"><textarea style="margin: 0px;width:475px;height: 75px;line-height:20px" class="bt-input-text" name="scan_cookie" >'+ rdata.cookie + '</textarea></div>\
|
||||||
|
</div>\
|
||||||
|
<div class="line">\
|
||||||
|
<span class="tname">Args</span>\
|
||||||
|
<div class="info-r"><textarea style="margin: 0px;width:475px;height: 75px;line-height:20px" class="bt-input-text" name="scan_args" >'+ rdata.args + '</textarea></div>\
|
||||||
|
</div>\
|
||||||
|
<ul class="help-info-text c7 ptb10">\
|
||||||
|
<li>会同时过滤key和value,请谨慎设置</li>\
|
||||||
|
<li>请使用正则表达式,提交前应先备份原有表达式</li>\
|
||||||
|
</ul>\
|
||||||
|
<div class="bt-form-submit-btn">\
|
||||||
|
<button type="button" class="btn btn-success btn-sm btn-title" onclick="saveScanRule()">确定</button>\
|
||||||
|
</div>\
|
||||||
|
</form>'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//保存扫描器规则
|
||||||
|
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: '<div class="pd15 ipv4_list">\
|
||||||
|
<div style="border-bottom:#ccc 1px solid;margin-bottom:10px;padding-bottom:10px">\
|
||||||
|
<input class="bt-input-text" name="start_ip" type="text" value="" style="width:180px;margin-right:15px;margin-left:5px" placeholder="起始IP地址">\
|
||||||
|
<input class="bt-input-text mr5" name="end_ip" type="text" style="width:180px;margin-left:5px;margin-right:20px" placeholder="结束IP地址">\
|
||||||
|
<button class="btn btn-success btn-sm va0 pull-right" onclick="add_ip_white();">添加</button>\</div>\
|
||||||
|
<div class="divtable">\
|
||||||
|
<div id="ipWhite" style="max-height:300px;overflow:auto;border:#ddd 1px solid">\
|
||||||
|
<table class="table table-hover" style="border:none">\
|
||||||
|
<thead>\
|
||||||
|
<tr>\
|
||||||
|
<th>超始IP</th>\
|
||||||
|
<th>结束IP</th>\
|
||||||
|
<th style="text-align: right;">操作</th>\
|
||||||
|
</tr>\
|
||||||
|
</thead>\
|
||||||
|
<tbody id="ip_white_con" class="gztr"></tbody>\
|
||||||
|
</table>\
|
||||||
|
</div>\
|
||||||
|
</div>\
|
||||||
|
<div style="width:100%" class="mt5">\
|
||||||
|
<button class="btn btn-success btn-sm va0 mr5 mt10" onclick="file_input(\'ip_white\')" >导入</button>\
|
||||||
|
<button class="btn btn-success btn-sm va0 mt10" onclick="output_data(\'ip_white\')">导出</button>\
|
||||||
|
</div>\
|
||||||
|
<ul class="help-info-text c7 ptb10">\
|
||||||
|
<li>所有规则对白名单中的IP段无效,包括IP黑名单和URL黑名单,IP白名单具备最高优先权</li>\
|
||||||
|
</ul>\
|
||||||
|
</div>\
|
||||||
|
<div class="pd15 ipv6_list">\
|
||||||
|
</div>',
|
||||||
|
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();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// <div class="tab_list"><div class="tab_block active">IPv4白名单</div><div class="tab_block">IPv6白名单</div></div>\
|
||||||
|
}
|
||||||
|
});
|
||||||
|
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 += '<tr>\
|
||||||
|
<td>'+ rdata[i][0].join('.') + '</td>\
|
||||||
|
<td>'+ rdata[i][1].join('.') + '</td>\
|
||||||
|
<td class="text-right"><a class="btlink" onclick="remove_ip_white('+ i + ')">删除</a></td>\
|
||||||
|
</tr>'
|
||||||
|
}
|
||||||
|
$("#ip_white_con").html(tbody);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function wafScreen(){
|
function wafScreen(){
|
||||||
|
|
||||||
owPost('waf_srceen', {}, function(data){
|
owPost('waf_srceen', {}, function(data){
|
||||||
@@ -516,12 +637,12 @@ function wafGloabl(){
|
|||||||
<td>常见扫描器</td><td>'+ rdata.scan.ps + '</td><td><a class="btlink" onclick="setRequestCode(\'scan\',' + rdata.scan.status + ')">' + rdata.scan.status + '</a></td><td><div class="ssh-item">\
|
<td>常见扫描器</td><td>'+ rdata.scan.ps + '</td><td><a class="btlink" onclick="setRequestCode(\'scan\',' + rdata.scan.status + ')">' + rdata.scan.status + '</a></td><td><div class="ssh-item">\
|
||||||
<input class="btswitch btswitch-ios" id="closescan" type="checkbox" '+ (rdata.scan.open ? 'checked' : '') + '>\
|
<input class="btswitch btswitch-ios" id="closescan" type="checkbox" '+ (rdata.scan.open ? 'checked' : '') + '>\
|
||||||
<label class="btswitch-btn" for="closescan" onclick="setObjOpen(\'scan\')"></label>\
|
<label class="btswitch-btn" for="closescan" onclick="setObjOpen(\'scan\')"></label>\
|
||||||
</div></td><td class="text-right"><a class="btlink" onclick="scan_rule()">设置</a></td>\
|
</div></td><td class="text-right"><a class="btlink" onclick="scanRule()">设置</a></td>\
|
||||||
</tr>\
|
</tr>\
|
||||||
<tr>\
|
<tr>\
|
||||||
<td>IP白名单</td><td>所有规则对IP白名单无效</td><td style="text-align: center;">--</td>\
|
<td>IP白名单</td><td>所有规则对IP白名单无效</td><td style="text-align: center;">--</td>\
|
||||||
<td style="text-align: center;">--</td>\
|
<td style="text-align: center;">--</td>\
|
||||||
<td class="text-right"><a class="btlink" onclick="ip_white()">设置</a></td>\
|
<td class="text-right"><a class="btlink" onclick="ipWhite()">设置</a></td>\
|
||||||
</tr>\
|
</tr>\
|
||||||
<tr>\
|
<tr>\
|
||||||
<td>IP黑名单</td><td>禁止访问的IP</td><td><a class="btlink" onclick="setRequestCode(\'cc\','+ rdata.cc.status + ')">' + rdata.cc.status + '</a></td>\
|
<td>IP黑名单</td><td>禁止访问的IP</td><td><a class="btlink" onclick="setRequestCode(\'cc\','+ rdata.cc.status + ')">' + rdata.cc.status + '</a></td>\
|
||||||
|
|||||||
Reference in New Issue
Block a user