From 9a6684b257c27b45d2b3a1ba859186147930bfe2 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Sat, 26 Aug 2023 17:01:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=BC=80=E5=85=B3=E4=B8=AD=E9=97=B4?= =?UTF-8?q?=E4=BB=B6=E7=BD=91=E5=85=B3=E7=99=BB=E5=BD=95=E7=AD=96=E7=95=A5?= =?UTF-8?q?-IP=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/midware/arrow_ip_addr.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/midware/arrow_ip_addr.go b/lib/midware/arrow_ip_addr.go index 042beb1b..2a516c7c 100644 --- a/lib/midware/arrow_ip_addr.go +++ b/lib/midware/arrow_ip_addr.go @@ -29,17 +29,29 @@ func ArrowIPAddr(next http.Handler) http.Handler { next.ServeHTTP(w, r) return } + + // 开关 + switchStr := data["switch"].(string) + if switchStr == "0" { + next.ServeHTTP(w, r) + return + } + ipRange := data["ipRange"].(string) logintimeRange := data["logintime_range"].(string) // 检查ip ips := strings.Split(ipRange, "/") + hasIP := false for _, ip := range ips { - if ipAddr != ip { - services.ResponseErrorWithJson(w, 502, "网关登录策略-IP限制: "+ipAddr) - return + if ipAddr == ip { + hasIP = true } } + if !hasIP { + services.ResponseErrorWithJson(w, 502, "网关登录策略-IP限制: "+ipAddr) + return + } // 检查开放时间 logintimeRangeArr := strings.Split(logintimeRange, " - ")