@@ -22,6 +22,7 @@
openSingleBoxsolid();
});
setInterceptDefaultInfo($("input[name='cfgId']").val());
openSingleBoxsolid();
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
@@ -82,9 +83,11 @@
if(action==1){ //监测
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".replaceAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".whiteListAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
}else if(action==64){//限速
$(".monitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".replaceAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".whiteListAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
var rateLimitType=$("input[name='userRegion1']checked").val();
if(rateLimitType == 0){//丢包率
$(".bandwith").find("input[name='userRegion3']").attr("disabled",true);
@@ -95,6 +98,7 @@
}else if(action==80){//替换
$(".monitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".whiteListAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
}else {//白名单
$(".monitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
@@ -168,58 +172,85 @@
var keyringType=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("keyringType");
if(cert != '' && keyringType == 'end-entity'){
var cn=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("cn");
var cnReg = new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+cn.replace("*","")+')+$');
var san=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("san" );
if(cn.trim() =='' && san.trim() ==''){
flag=false;
}else {
$("input[name$='cfgRegionCode'").each(function(){
var serviceTyp e=$(this).attr("serviceType") ;
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
if(serviceType == "intercept_domain"){
var domain=$("input[name='"+prefixName+"cfgKeywords']").val ();
var domain=domain.trim();
if(!flag) {
for (var i=0;i<san.split(",").length;i++) {
if(san.split(",")[i] != null && san.split(",")[i] != '' && san.split(",")[i].trim() !='' ){
if(flag){
break;
if(cn !='' && cn != null){
var cnReg = new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+cn.replace("*","")+')+$' );
var san=$(".monitAction").find("select[name='userRegion1']").find("option[value='"+cert+"']").attr("san");
if(san != null && san !=''){
$("input[name$='cfgRegionCode'").each(function() {
var serviceType=$(this).attr("serviceType");
var prefixNam e=$(this).attr("name").split("cfgRegionCode")[0] ;
if(serviceType == "intercept_domain"){
var domain=$("input[name='"+prefixName+"cfgKeywords']").val();
var domain=domain.trim ();
if(!flag){
for (var i=0;i<san.split(",").length;i++) {
if(san.split(",")[i] != null && san.split(",")[i] != '' && san.split(",")[i].trim() !='') {
if(flag ){
break;
}
var sanStr=san.split(",")[i].trim();
if(sanStr.indexOf("*") >-1){
var sanReg= new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+sanStr.replace("*","")+')+$');
if(sanReg.exec(domain) != null){
flag=true;
}
}else{
if(sanStr == domain){ //完全匹配
flag=true;
}
}
}
var sanStr=san.split(",")[i].trim();
if(sanStr.indexOf("*") >-1){
var sanReg= new RegExp('^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\'+sanStr.replace("*","")+')+$');
if(sanReg.exec(domain) != null ){
}
if(!flag){
if(cn.indexOf("*") > -1 ){
if(cnReg.exec(domain) != null){
flag=true;
}
}else{
if(sanStr == domain){ //完全匹配
if(cn == domain){ //完全匹配
flag=true;
}
}
}
}else{
flag=true;
}
if(!flag){
if(cn.indexOf ("* ") > -1){
if(cnReg.exec(domain) != null){
flag=true;
}
}else{
if(cn == domain){ //完全匹配
flag=true;
}
}
}
}
if(!flag){
$("div[for='"+prefixName+"cfgKeywords']").html ("");
$("div[for='"+prefixName+"cfgKeywords']").html("<label class='error'>"+$("#certNotMatchDomain").text()+"</label>");
}else{
flag=true ;
$("div[for='"+prefixName+"cfgKeywords']").html("") ;
}
});
}else{
flag=false;
$("input[name$='cfgRegionCode'").each(function(){
var serviceType=$(this).attr("serviceType");
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
if(serviceType == "intercept_domain"){
if(error ==null || error.trim() == ''){
$("div[for='"+prefixName+"cfgKeywords']").html("");
$("div[for='"+prefixName+"cfgKeywords']").html("<label class='error'>"+$("#certNotMatchDomain").text()+"</label>");
}
}
});
}
}else{
flag=false;
$("input[name$='cfgRegionCode'").each(function(){
var serviceType=$(this).attr("serviceType");
var prefixName=$(this).attr("name").split("cfgRegionCode")[0];
var error=$("div[for='"+prefixName+"cfgKeywords']").html();
if(serviceType == "intercept_domain"){
if(error ==null || error.trim() == ''){
$("div[for='"+prefixName+"cfgKeywords']").html("");
$("div[for='"+prefixName+"cfgKeywords']").html("<label class='error'>"+$("#certNotMatchDomain").text()+"</label>");
}
}
if(!flag){
$("div[for='"+prefixName+"cfgKeywords']").html("");
$("div[for='"+prefixName+"cfgKeywords']").html("<label class='error'>"+$("#certNotMatchDomain").text()+"</label>");
}else{
$("div[for='"+prefixName+"cfgKeywords']").html("");
}
});
}
}else{
@@ -231,6 +262,105 @@
return flag;
}
var setInterceptDefaultInfo=function(cfgId){
var action=$("input[name='action']:checked").val();
var interceptRatelimitIp="";
var interceptReplacePktBin="";
var protocolNamePrefix="";
var serviceType="";
//查找当前业务中的serviceRegionType, 是否存在intercept_ratelimit_ip
$("input[name$='cfgRegionCode']").each(function(){
//替换动作非tcp
var serviceRegionTypeValue=$(this).attr("serviceType");
serviceType=serviceRegionTypeValue;
var serviceRegionTypeName=$(this).attr("name");
if(serviceRegionTypeName.indexOf(".") >-1){
serviceRegionTypeName=serviceRegionTypeName.substring(0,serviceRegionTypeName.indexOf(".")+1);
}else{
serviceRegionTypeName="";
}
if(serviceRegionTypeValue == 'intercept_ratelimit_ip'){
interceptRatelimitIp=serviceRegionTypeValue;
protocolNamePrefix=serviceRegionTypeName;
}
if(serviceRegionTypeValue == 'intercept_replace_pkt_bin'){
interceptReplacePktBin=serviceRegionTypeValue;
}
});
if(action==1){
//监测
$(".monitAction").removeClass("hidden");
$(".ratelimitAction").addClass("hidden");
$(".replaceAction").addClass("hidden");
$(".whiteListAction").addClass("hidden");
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>");
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6' selected>TCP</option>");
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>");
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
}
if(interceptReplacePktBin == 'intercept_replace_pkt_bin'){
$("."+interceptReplacePktBin).addClass("hidden");
$("."+interceptReplacePktBin+"_div").addClass("hidden");
}
}else if(action==64){
//限速
$(".monitAction").addClass("hidden");
$(".ratelimitAction").removeClass("hidden");
$(".replaceAction").addClass("hidden");
$(".whiteListAction").addClass("hidden");
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>");
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6'>TCP</option>");
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>");
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
switchRateLimitType();
}
if(interceptReplacePktBin == 'intercept_replace_pkt_bin'){
$("."+interceptReplacePktBin).addClass("hidden");
$("."+interceptReplacePktBin+"_div").addClass("hidden");
}
}else if(action==80){
//替换
$(".monitAction").addClass("hidden");
$(".ratelimitAction").addClass("hidden");
$(".replaceAction").removeClass("hidden");
$(".whiteListAction").addClass("hidden");
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17' selected>UDP</option>")
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='1' >ICMP</option>")
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
}
if(interceptReplacePktBin == 'intercept_replace_pkt_bin' && cfgId == ""){
$("."+interceptReplacePktBin).removeClass("hidden");
$("."+interceptReplacePktBin).find("span").removeClass("hidden");
}
}else if(action==128){
$(".monitAction").addClass("hidden");
$(".ratelimitAction").addClass("hidden");
$(".replaceAction").addClass("hidden");
$(".whiteListAction").removeClass("hidden");
if(interceptRatelimitIp == 'intercept_ratelimit_ip'){
$("select[name='"+protocolNamePrefix+"protocol']").find("option").remove();
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
//$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='0' selected>"+$.validator.messages.all+"</option>")
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='6' selected>TCP</option>")
$("select[name='"+protocolNamePrefix+"protocol']").append("<option value='17'>UDP</option>")
$("select[name='"+protocolNamePrefix+"protocol']").selectpicker("refresh");
}
if(interceptReplacePktBin == 'intercept_replace_pkt_bin'){
$("."+interceptReplacePktBin).addClass("hidden");
$("."+interceptReplacePktBin+"_div").addClass("hidden");
}
}
}
</script>
</head>
<body>
@@ -279,7 +409,6 @@
<div class="form-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
@@ -309,7 +438,10 @@
<c:if test="${(dict.itemCode eq service.action) && (service.action eq 1) }">
<spring:message code="intercept"/>
</c:if>
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 1 ) }">
<c:if test="${(dict.itemCode eq service.action) && (service.action eq 128 ) }">
<spring:message code="bypass"/>
</c:if>
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 1 && service.action ne 128 ) }">
<spring:message code="${dict.itemValue }"/>
</c:if>
</c:forEach>
@@ -345,37 +477,36 @@
</div>
</div>
<!-- dolog end-->
<!-- 域名拦截增加拦截强度 -->
<c:if test="${_cfg.functionId eq 201}">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="intercept_intensity" />
</label>
<div class="col-md-6">
<select name="userRegion5"
class="selectpicker show-tick form-control required">
<c:forEach items="${fns:getDictList('INTERCEPT_DOMAIN_INTENSITY')}" var="intensityC">
<option value="${intensityC.itemCode}" <c:if test="${_cfg.userRegion5==intensityC.itemCode || (empty _cfg.userRegion5 && intensityC.itemCode eq 1)}">selected</c:if>><spring:message code="${intensityC.itemValue}"/></option>
</c:forEach>
</select>
</div>
<div for="userRegion5"></div>
</div>
</div>
</div>
</c:if>
<%-- action 为1 监测时 可以选择证书--%>
<div class="row monitAction hidden">
<h4 class="form-section">
<spring:message code="action_region" />
<small></small>
</h4>
<!-- 域名拦截增加拦截强度 -->
<c:if test="${_cfg.functionId eq 201}">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="intercept_intensity" />
</label>
<div class="col-md-6">
<select name="userRegion5"
class="selectpicker show-tick form-control required">
<c:forEach items="${fns:getDictList('INTERCEPT_DOMAIN_INTENSITY')}" var="intensityC">
<option value="${intensityC.itemCode}" <c:if test="${_cfg.userRegion5==intensityC.itemCode || (empty _cfg.userRegion5 && intensityC.itemCode eq 1)}">selected</c:if>><spring:message code="${intensityC.itemValue}"/></option>
</c:forEach>
</select>
</div>
<div for="userRegion5"></div>
</div>
</div>
</c:if>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><spring:message
code="certific ate" /></label>
code="intercept_file_str ategy " /></label>
<div class="col-md-6">
<select name="userRegion1" class="selectpicker show-tick form-control">
<option value="" <c:if test="${empty _cfg.userRegion1}">selected</c:if> ><spring:message code="selected"/></option>
@@ -508,6 +639,32 @@
</div>
</div>
</div>
<%-- action 为128 白名单时 --%>
<c:if test="${_cfg.functionId eq 201}">
<div class="row whiteListAction hidden">
<h4 class="form-section">
<spring:message code="action_region" />
<small></small>
</h4>
<!-- 域名拦截增加拦截强度 -->
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="intercept_intensity" />
</label>
<div class="col-md-6">
<select name="userRegion5"
class="selectpicker show-tick form-control required">
<c:forEach items="${fns:getDictList('INTERCEPT_DOMAIN_INTENSITY')}" var="intensityC">
<option value="${intensityC.itemCode}" <c:if test="${_cfg.userRegion5==intensityC.itemCode || (empty _cfg.userRegion5 && intensityC.itemCode eq 1)}">selected</c:if>><spring:message code="${intensityC.itemValue}"/></option>
</c:forEach>
</select>
</div>
<div for="userRegion5"></div>
</div>
</div>
</div>
</c:if>
<c:set var="ipCfgIndex" value="0"></c:set>
<c:set var="complexCfgIndex" value="0"></c:set>
<c:set var="domainCfgIndex" value="0"></c:set>