diff --git a/web/public/js/components.js b/web/public/js/components.js index 0ffe4ad7..b76e983c 100755 --- a/web/public/js/components.js +++ b/web/public/js/components.js @@ -5077,6 +5077,8 @@ Vue.component("http-firewall-actions-box", { blockScope: "global", captchaLife: "", + captchaMaxFails: "", + captchaFailBlockTimeout: "", get302Life: "", post307Life: "", recordIPType: "black", @@ -5125,6 +5127,22 @@ Vue.component("http-firewall-actions-box", { this.actionOptions["life"] = v } }, + captchaMaxFails: function (v) { + v = parseInt(v) + if (isNaN(v)) { + this.actionOptions["maxFails"] = 0 + } else { + this.actionOptions["maxFails"] = v + } + }, + captchaFailBlockTimeout: function (v) { + v = parseInt(v) + if (isNaN(v)) { + this.actionOptions["failBlockTimeout"] = 0 + } else { + this.actionOptions["failBlockTimeout"] = v + } + }, get302Life: function (v) { v = parseInt(v) if (isNaN(v)) { @@ -5191,6 +5209,8 @@ Vue.component("http-firewall-actions-box", { this.blockTimeout = "" this.blockScope = "global" this.captchaLife = "" + this.captchaMaxFails = "" + this.captchaFailBlockTimeout = "" this.get302Life = "" this.post307Life = "" @@ -5259,6 +5279,14 @@ Vue.component("http-firewall-actions-box", { if (config.options.life != null || config.options.life > 0) { this.captchaLife = config.options.life.toString() } + this.captchaMaxFails = "" + if (config.options.maxFails != null || config.options.maxFails > 0) { + this.captchaMaxFails = config.options.maxFails.toString() + } + this.captchaFailBlockTimeout = "" + if (config.options.failBlockTimeout != null || config.options.failBlockTimeout > 0) { + this.captchaFailBlockTimeout = config.options.failBlockTimeout.toString() + } break case "notify": break @@ -5586,6 +5614,26 @@ Vue.component("http-firewall-actions-box", {
验证通过后在这个时间内不再验证,默认600秒。
+如果为空或者为0,表示不限制。
+在达到最多失败次数(大于0)时,自动拦截的时间;如果为0表示不自动拦截。
+验证通过后在这个时间内不再验证,默认600秒。
如果为空或者为0,表示不限制。
+在达到最多失败次数(大于0)时,自动拦截的时间;如果为0表示不自动拦截。
+