|
|
|
@ -76,6 +76,95 @@ function setCcRule(cycle, limit, endtime, siteName, increase){ |
|
|
|
|
incstr = '<li style="color:red;">此处设置的是初始值,新添加站点时将继承,对现有站点无效。</li>'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 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: '<form class="bt-form pd20 pb70">\ |
|
|
|
|
<div class="line">\ |
|
|
|
|
<span class="tname">周期</span>\ |
|
|
|
|
<div class="info-r"><input class="bt-input-text" name="cc_cycle" type="number" value="'+ cycle + '" /> 秒</div>\ |
|
|
|
|
</div>\ |
|
|
|
|
<div class="line">\ |
|
|
|
|
<span class="tname">频率</span>\ |
|
|
|
|
<div class="info-r"><input class="bt-input-text" name="cc_limit" type="number" value="'+ limit + '" /> 次</div>\ |
|
|
|
|
</div>\ |
|
|
|
|
<div class="line">\ |
|
|
|
|
<span class="tname">封锁时间</span>\ |
|
|
|
|
<div class="info-r"><input class="bt-input-text" name="cc_endtime" type="number" value="'+ endtime + '" /> 秒</div>\ |
|
|
|
|
</div>\ |
|
|
|
|
<div class="line">\ |
|
|
|
|
<span class="tname">增强模式</span>\ |
|
|
|
|
<div class="info-r">\ |
|
|
|
|
<select class="bt-input-text mr5" style="width:80px" name="enhance_mode">\ |
|
|
|
|
<option value="0" '+ (enhance_mode == 0?'selected':'') +'>关闭</option>\ |
|
|
|
|
<option value="1" '+ (enhance_mode == 1?'selected':'') +'>开启</option>\ |
|
|
|
|
</select>\ |
|
|
|
|
</div>\ |
|
|
|
|
</div>\ |
|
|
|
|
<div class="line" style="display:'+ (siteName == 'undefined'?'block':'none') +'">\ |
|
|
|
|
<span class="tname">四层防御</span>\ |
|
|
|
|
<div class="info-r">\ |
|
|
|
|
<select class="bt-input-text mr5" style="width:80px" name="cc_four_defense">\ |
|
|
|
|
<option value="0">关闭</option>\ |
|
|
|
|
<option value="1">开启</option>\ |
|
|
|
|
</select>\ |
|
|
|
|
</div>\ |
|
|
|
|
</div>\ |
|
|
|
|
<ul class="help-info-text c7 ptb10">'+ incstr + '\ |
|
|
|
|
<li><font style="color:red;">'+ cycle + '</font> 秒内累计请求同一URL超过 <font style="color:red;">' + limit + '</font> 次,触发CC防御,封锁此IP <font style="color:red;">' + endtime + '</font> 秒</li>\ |
|
|
|
|
<li>请不要设置过于严格的CC规则,以免影响正常用户体验</li>\ |
|
|
|
|
<li><font style="color:red;">增强模式:CC防御加强版,开启后可能会影响用户体验,建议在用户受到CC攻击时开启。</font></li>\ |
|
|
|
|
<li><font style="color:red;display:'+ (siteName == 'undefined'?'display: inline-block;':'none') +';">全局应用:全局设置当前CC规则,且覆盖当前全部站点的CC规则</font></li>\ |
|
|
|
|
</ul>\ |
|
|
|
|
<div class="bt-form-submit-btn"><button type="button" class="btn btn-danger btn-sm btn_cc_all" style="margin-right:10px;display:'+ (siteName == 'undefined'?'display: inline-block;':'none') +';">全局应用</button><button type="button" class="btn btn-success btn-sm btn_cc_present">应用</button></div>\ |
|
|
|
|
</form>', |
|
|
|
|
success:function(layero,index){ |
|
|
|
|
// console.log(siteName == 'undefined');
|
|
|
|
|
// //<option value="2" '+ (enhance_mode == 2?'selected':'') +' style="'+ (siteName != 'undefined' && enhance_mode != 2?'display:none;':'') +'">自动</option>\
|
|
|
|
|
// 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);
|
|
|
|
|
// });
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function wafScreen(){ |
|
|
|
@ -133,7 +222,14 @@ function wafGloabl(){ |
|
|
|
|
<input class="btswitch btswitch-ios" id="closecc" type="checkbox" '+(rdata.cc.open ? 'checked' : '')+'>\ |
|
|
|
|
<label class="btswitch-btn" for="closecc" onclick="setObjOpen(\'cc\')"></label></div>\ |
|
|
|
|
</td>\ |
|
|
|
|
<td class="text-right"><a class="btlink" onclick="setCcRule(80,120,60,\'undefined\',false)">初始规则</a></td>\ |
|
|
|
|
<td class="text-right"><a class="btlink" onclick="setCcRule('+rdata.cc.cycle+','+rdata.cc.limit+','+rdata.cc.endtime+',\'undefined\','+rdata.cc.increase+')">初始规则</a></td>\ |
|
|
|
|
</tr>\ |
|
|
|
|
<tr>\ |
|
|
|
|
<td>恶意容忍度</td>\ |
|
|
|
|
<td>封锁连续恶意请求,请到站点配置中调整容忍阈值</td>\ |
|
|
|
|
<td><a class="btlink" onclick="setRequestCode(\'cc\','+ rdata.cc.status + ')">' + rdata.cc.status + '</a></td>\ |
|
|
|
|
<td style="text-align: center;">--</td>\ |
|
|
|
|
<td class="text-right"><a class="btlink" onclick="set_retry('+ rdata.retry_cycle + ',' + rdata.retry + ',' + rdata.retry_time + ')">初始规则</a></td>\ |
|
|
|
|
</tr>\ |
|
|
|
|
</tbody>\ |
|
|
|
|
</table>\ |
|
|
|
|