From 4b61cad486d4b5ccbdf1bd0580ff14d520822b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Mon, 30 Oct 2023 22:01:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=20fail2ban=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/http/controllers/plugins/fail2ban/fail2ban_controller.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/http/controllers/plugins/fail2ban/fail2ban_controller.go b/app/http/controllers/plugins/fail2ban/fail2ban_controller.go index f3e4b023..67fd6706 100644 --- a/app/http/controllers/plugins/fail2ban/fail2ban_controller.go +++ b/app/http/controllers/plugins/fail2ban/fail2ban_controller.go @@ -215,7 +215,7 @@ func (c *Fail2banController) Add(ctx http.Context) http.Response { "bantime": "required", "website_name": "required_if:type,website", "website_mode": "required_if:type,website", - "website_path": "required_if:type,website", + "website_path": "required_if:website_mode,path", }) if err != nil { return controllers.Error(ctx, http.StatusUnprocessableEntity, err.Error()) @@ -234,7 +234,7 @@ func (c *Fail2banController) Add(ctx http.Context) http.Response { jailWebsitePath := ctx.Request().Input("website_path") raw := tools.Read("/etc/fail2ban/jail.local") - if strings.Contains(raw, "["+jailName+"]") || (strings.Contains(raw, "["+jailWebsiteName+"]"+"-cc") && jailWebsiteMode == "cc") || (strings.Contains(raw, "["+jailWebsiteName+"]"+"-path") && jailWebsiteMode == "path") { + if (strings.Contains(raw, "["+jailName+"]") && jailType == "service") || (strings.Contains(raw, "["+jailWebsiteName+"]"+"-cc") && jailType == "website" && jailWebsiteMode == "cc") || (strings.Contains(raw, "["+jailWebsiteName+"]"+"-path") && jailType == "website" && jailWebsiteMode == "path") { return controllers.Error(ctx, http.StatusUnprocessableEntity, "规则已存在") }