WAF增加通配符匹配/不匹配操作符

This commit is contained in:
GoEdgeLab
2023-08-13 10:38:14 +08:00
parent 45f90ab92e
commit c21214d25c
2 changed files with 210 additions and 196 deletions

View File

@@ -11,7 +11,7 @@ Vue.component("code-label", {
this.$emit("click", args)
}
},
template: `<span class="ui label basic tiny" style="padding: 3px;margin-left:2px;margin-right:2px" @click.prevent="click"><slot></slot></span>`
template: `<span class="ui label basic small" style="padding: 3px;margin-left:2px;margin-right:2px" @click.prevent="click"><slot></slot></span>`
})
Vue.component("code-label-plain", {

View File

@@ -91,13 +91,15 @@
</tr>
<tr>
<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 == 'number'">对比数字</span>
<span v-else-if="operator != null && operator.dataType == 'string'">对比字符串</span>
<span v-else-if="operator != null && operator.dataType == 'strings'">一组对比字符串</span>
<span v-else-if="operator != null && operator.dataType == 'string|number'">字符串或数字</span>
<span v-else-if="operator != null && operator.dataType == 'version'">对比版本号</span>
<span v-else-if="operator != null && operator.dataType == 'ip'">对比IP</span>
<span v-else-if="operator != null && operator.dataType == 'string'">对比单个字符串</span>
<span v-else-if="operator != null && operator.dataType == 'strings'">对比一组字符串</span>
<span v-else-if="operator != null && operator.dataType == 'string|number'">对比单个字符串或数字</span>
<span v-else-if="operator != null && operator.dataType == 'version'">对比单个版本号</span>
<span v-else-if="operator != null && operator.dataType == 'versionRange'">对比版本号范围</span>
<span v-else-if="operator != null && operator.dataType == 'ip'">对比单个IP</span>
<span v-else-if="operator != null && operator.dataType == 'ips'">一组对比IP</span>
<span v-else>对比值</span>
</td>
@@ -121,6 +123,12 @@
</select>
</div>
<!-- wildcard -->
<div v-else-if="operator != null && operator.dataType == 'wildcard'">
<textarea rows="3" maxlength="4096" name="value" v-model="rule.value" @input="changeRuleValue"></textarea>
<p class="comment">输入包含通配符的字符串,比如<code-label>Chrome/*</code-label><code-label>192.168.*.*</code-label></p>
</div>
<!-- number -->
<div v-else-if="operator != null && operator.dataType == 'number'">
<input type="number" name="value" v-model="rule.value" @input="changeRuleValue" style="width: 16em" maxlength="30" placeholder="对比数字" step="any"/>
@@ -129,7 +137,7 @@
<!-- string|number -->
<div v-else-if="operator != null && operator.dataType == 'string|number'">
<input type="text" name="value" v-model="rule.value" @input="changeRuleValue" style="width: 16em" maxlength="30" placeholder="对比字符串或数字" step="any"/>
<input type="text" name="value" v-model="rule.value" @input="changeRuleValue" style="width: 16em" maxlength="30" placeholder="对比字符串或数字"/>
<p class="comment">输入和参数对比的字符串或数字,比如<code-label>123</code-label><code-label>abc</code-label></p>
</div>
@@ -139,6 +147,12 @@
<p class="comment">输入和参数对比的版本号,比如<code-label>1.2.7</code-label></p>
</div>
<!-- versionRange -->
<div v-else-if="operator != null && operator.dataType == 'versionRange'">
<input type="text" name="value" v-model="rule.value" @input="changeRuleValue" style="width: 10em" maxlength="100" placeholder="版本号范围"/>
<p class="comment">输入和参数对比的版本号范围,比如<code-label>1.2.7,1.3.7</code-label></p>
</div>
<!-- IP -->
<div v-else-if="operator != null && operator.dataType == 'ip'">
<input type="text" name="value" v-model="rule.value" @input="changeRuleValue" style="width: 16em" maxlength="100" placeholder="对比IP"/>