mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	WAF操作符对应的对比值可以不填写
This commit is contained in:
		@@ -11,7 +11,7 @@ Vue.component("http-firewall-rule-label", {
 | 
				
			|||||||
			teaweb.popupTip("规则校验错误,请修正:<span class=\"red\">"  + teaweb.encodeHTML(err) + "</span>")
 | 
								teaweb.popupTip("规则校验错误,请修正:<span class=\"red\">"  + teaweb.encodeHTML(err) + "</span>")
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		operatorName: function (operatorCode) {
 | 
							operatorName: function (operatorCode) {
 | 
				
			||||||
			var operatorName = operatorCode
 | 
								let operatorName = operatorCode
 | 
				
			||||||
			if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
								if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
				
			||||||
				window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
									window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
				
			||||||
					if (v.code == operatorCode) {
 | 
										if (v.code == operatorCode) {
 | 
				
			||||||
@@ -22,6 +22,18 @@ Vue.component("http-firewall-rule-label", {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			return operatorName
 | 
								return operatorName
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							operatorDataType: function (operatorCode) {
 | 
				
			||||||
 | 
								let operatorDataType = "none"
 | 
				
			||||||
 | 
								if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
				
			||||||
 | 
									window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
				
			||||||
 | 
										if (v.code == operatorCode) {
 | 
				
			||||||
 | 
											operatorDataType = v.dataType
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									})
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return operatorDataType
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		isEmptyString: function (v) {
 | 
							isEmptyString: function (v) {
 | 
				
			||||||
			return typeof v == "string" && v.length == 0
 | 
								return typeof v == "string" && v.length == 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -45,7 +57,7 @@ Vue.component("http-firewall-rule-label", {
 | 
				
			|||||||
			<span v-if="rule.paramFilters != null && rule.paramFilters.length > 0" v-for="paramFilter in rule.paramFilters"> | {{paramFilter.code}}</span> 
 | 
								<span v-if="rule.paramFilters != null && rule.paramFilters.length > 0" v-for="paramFilter in rule.paramFilters"> | {{paramFilter.code}}</span> 
 | 
				
			||||||
		<span :class="{dash:!rule.isComposed && rule.isCaseInsensitive}" :title="(!rule.isComposed && rule.isCaseInsensitive) ? '大小写不敏感':''">{{operatorName(rule.operator)}}</span> 
 | 
							<span :class="{dash:!rule.isComposed && rule.isCaseInsensitive}" :title="(!rule.isComposed && rule.isCaseInsensitive) ? '大小写不敏感':''">{{operatorName(rule.operator)}}</span> 
 | 
				
			||||||
			<span v-if="!isEmptyString(rule.value)">{{rule.value}}</span>
 | 
								<span v-if="!isEmptyString(rule.value)">{{rule.value}}</span>
 | 
				
			||||||
			<span v-else class="disabled" style="font-weight: normal" title="空字符串">[空]</span>
 | 
								<span v-else-if="operatorDataType(rule.operator) != 'none'" class="disabled" style="font-weight: normal" title="空字符串">[空]</span>
 | 
				
			||||||
		</span>
 | 
							</span>
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		<!-- description -->
 | 
							<!-- description -->
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ Vue.component("http-firewall-rules-box", {
 | 
				
			|||||||
			})
 | 
								})
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		operatorName: function (operatorCode) {
 | 
							operatorName: function (operatorCode) {
 | 
				
			||||||
			var operatorName = operatorCode
 | 
								let operatorName = operatorCode
 | 
				
			||||||
			if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
								if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
				
			||||||
				window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
									window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
				
			||||||
					if (v.code == operatorCode) {
 | 
										if (v.code == operatorCode) {
 | 
				
			||||||
@@ -48,6 +48,18 @@ Vue.component("http-firewall-rules-box", {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			return operatorName
 | 
								return operatorName
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							operatorDataType: function (operatorCode) {
 | 
				
			||||||
 | 
								let operatorDataType = "none"
 | 
				
			||||||
 | 
								if (typeof (window.WAF_RULE_OPERATORS) != null) {
 | 
				
			||||||
 | 
									window.WAF_RULE_OPERATORS.forEach(function (v) {
 | 
				
			||||||
 | 
										if (v.code == operatorCode) {
 | 
				
			||||||
 | 
											operatorDataType = v.dataType
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									})
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return operatorDataType
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		isEmptyString: function (v) {
 | 
							isEmptyString: function (v) {
 | 
				
			||||||
			return typeof v == "string" && v.length == 0
 | 
								return typeof v == "string" && v.length == 0
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -72,7 +84,7 @@ Vue.component("http-firewall-rules-box", {
 | 
				
			|||||||
				<span v-else>
 | 
									<span v-else>
 | 
				
			||||||
					<span v-if="rule.paramFilters != null && rule.paramFilters.length > 0" v-for="paramFilter in rule.paramFilters"> | {{paramFilter.code}}</span> <span :class="{dash:(!rule.isComposed && rule.isCaseInsensitive)}" :title="(!rule.isComposed && rule.isCaseInsensitive) ? '大小写不敏感':''">{{operatorName(rule.operator)}}</span> 
 | 
										<span v-if="rule.paramFilters != null && rule.paramFilters.length > 0" v-for="paramFilter in rule.paramFilters"> | {{paramFilter.code}}</span> <span :class="{dash:(!rule.isComposed && rule.isCaseInsensitive)}" :title="(!rule.isComposed && rule.isCaseInsensitive) ? '大小写不敏感':''">{{operatorName(rule.operator)}}</span> 
 | 
				
			||||||
						<span v-if="!isEmptyString(rule.value)">{{rule.value}}</span>
 | 
											<span v-if="!isEmptyString(rule.value)">{{rule.value}}</span>
 | 
				
			||||||
						<span v-else class="disabled" style="font-weight: normal" title="空字符串">[空]</span>
 | 
											<span v-else-if="operatorDataType(rule.operator) != 'none'" class="disabled" style="font-weight: normal" title="空字符串">[空]</span>
 | 
				
			||||||
				</span>
 | 
									</span>
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
				<!-- description -->
 | 
									<!-- description -->
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -89,7 +89,7 @@
 | 
				
			|||||||
                <p class="comment" v-if="operator != null" v-html="operator.description"></p>
 | 
					                <p class="comment" v-if="operator != null" v-html="operator.description"></p>
 | 
				
			||||||
            </td>
 | 
					            </td>
 | 
				
			||||||
        </tr>
 | 
					        </tr>
 | 
				
			||||||
        <tr>
 | 
					        <tr v-show="operator != null && operator.dataType != 'none'">
 | 
				
			||||||
            <td>
 | 
					            <td>
 | 
				
			||||||
                <span v-if="operator != null && operator.dataType == 'regexp'">匹配正则表达式</span>
 | 
					                <span v-if="operator != null && operator.dataType == 'regexp'">匹配正则表达式</span>
 | 
				
			||||||
                <span v-else-if="operator != null && operator.dataType == 'wildcard'">匹配单个通配符</span>
 | 
					                <span v-else-if="operator != null && operator.dataType == 'wildcard'">匹配单个通配符</span>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user