mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 20:40:26 +08:00
WAF阻止动作增加封锁范围
This commit is contained in:
@@ -63,6 +63,8 @@ Vue.component("http-firewall-actions-box", {
|
||||
|
||||
// 动作参数
|
||||
blockTimeout: "",
|
||||
blockScope: "global",
|
||||
|
||||
captchaLife: "",
|
||||
get302Life: "",
|
||||
post307Life: "",
|
||||
@@ -97,6 +99,9 @@ Vue.component("http-firewall-actions-box", {
|
||||
this.actionOptions["timeout"] = v
|
||||
}
|
||||
},
|
||||
blockScope: function (v) {
|
||||
this.actionOptions["scope"] = v
|
||||
},
|
||||
captchaLife: function (v) {
|
||||
v = parseInt(v)
|
||||
if (isNaN(v)) {
|
||||
@@ -169,6 +174,7 @@ Vue.component("http-firewall-actions-box", {
|
||||
|
||||
// 动作参数
|
||||
this.blockTimeout = ""
|
||||
this.blockScope = "global"
|
||||
this.captchaLife = ""
|
||||
this.get302Life = ""
|
||||
this.post307Life = ""
|
||||
@@ -220,6 +226,11 @@ Vue.component("http-firewall-actions-box", {
|
||||
if (config.options.timeout != null || config.options.timeout > 0) {
|
||||
this.blockTimeout = config.options.timeout.toString()
|
||||
}
|
||||
if (config.options.scope != null && config.options.scope.length > 0) {
|
||||
this.blockScope = config.options.scope
|
||||
} else {
|
||||
this.blockScope = "service" // 兼容先前版本遗留的默认值
|
||||
}
|
||||
break
|
||||
case "allow":
|
||||
break
|
||||
@@ -450,7 +461,7 @@ Vue.component("http-firewall-actions-box", {
|
||||
<input type="hidden" name="actionsJSON" :value="JSON.stringify(configs)"/>
|
||||
<div v-show="configs.length > 0" style="margin-bottom: 0.5em" id="actions-box">
|
||||
<div v-for="(config, index) in configs" :data-index="index" :key="config.id" class="ui label small basic" :class="{blue: index == editingIndex}" style="margin-bottom: 0.4em">
|
||||
{{config.name}} ({{config.code.toUpperCase()}})
|
||||
{{config.name}} <span class="small">({{config.code.toUpperCase()}})</span>
|
||||
|
||||
<!-- block -->
|
||||
<span v-if="config.code == 'block' && config.options.timeout > 0">:有效期{{config.options.timeout}}秒</span>
|
||||
@@ -476,6 +487,13 @@ Vue.component("http-firewall-actions-box", {
|
||||
<!-- go_set -->
|
||||
<span v-if="config.code == 'go_set'">:{{config.options.groupName}} / {{config.options.setName}}</span>
|
||||
|
||||
<!-- 范围 -->
|
||||
<span v-if="config.options.scope != null && config.options.scope.length > 0" class="small grey">
|
||||
|
||||
<span v-if="config.options.scope == 'global'">[所有服务]</span>
|
||||
<span v-if="config.options.scope == 'service'">[当前服务]</span>
|
||||
</span>
|
||||
|
||||
<!-- 操作按钮 -->
|
||||
<a href="" title="修改" @click.prevent="update(index, config)"><i class="icon pencil small"></i></a> <a href="" title="删除" @click.prevent="remove(index)"><i class="icon remove small"></i></a> <a href="" title="拖动改变顺序"><i class="icon bars handle"></i></a>
|
||||
</div>
|
||||
@@ -503,6 +521,15 @@ Vue.component("http-firewall-actions-box", {
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="actionCode == 'block'">
|
||||
<td>封锁范围</td>
|
||||
<td>
|
||||
<select class="ui dropdown auto-width" v-model="blockScope">
|
||||
<option value="service">当前服务</option>
|
||||
<option value="global">所有服务</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- captcha -->
|
||||
<tr v-if="actionCode == 'captcha'">
|
||||
|
||||
Reference in New Issue
Block a user