From 062c6d77684e5f02fef6ef8ed6908797618bca57 Mon Sep 17 00:00:00 2001 From: fshenye <512914587@qq.com> Date: Fri, 21 Oct 2022 10:01:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BB=A3=E7=90=86IP=E5=A4=84=E7=90=8603?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sict/cloud/common/core/util/WebUtils.java | 18 +++++++++--------- .../gateway/filter/RequestGlobalFilter.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/WebUtils.java b/cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/WebUtils.java index 9dd5b44..0f48350 100644 --- a/cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/WebUtils.java +++ b/cloud-common/cloud-common-core/src/main/java/cn/sh/stc/sict/cloud/common/core/util/WebUtils.java @@ -41,6 +41,7 @@ import java.util.*; public class WebUtils extends org.springframework.web.util.WebUtils { private final String BASIC_ = "Basic "; private final String UNKNOWN = "unknown"; + private final String LOCAL127 = "127.0.0.1"; /** * 判断是否ajax请求 @@ -196,33 +197,32 @@ public class WebUtils extends org.springframework.web.util.WebUtils { public String getIP(ServerHttpRequest request) { HttpHeaders headers = request.getHeaders(); String ip = headers.getFirst("x-forwarded-for"); - log.error("headers = {}", JSONUtil.toJsonStr(headers)); - if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isNotBlank(ip) && !UNKNOWN.equalsIgnoreCase(ip)) { // 多次反向代理后会有多个ip值,第一个ip才是真实ip if (ip.indexOf(",") != -1) { - if ("127.0.0.1".equals(ip.split(",")[0])) { + if (LOCAL127.equals(ip.split(",")[0])) { ip = ip.split(",")[1]; } else { ip = ip.split(",")[0]; } } } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = headers.getFirst("Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = headers.getFirst("WL-Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = headers.getFirst("HTTP_CLIENT_IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = headers.getFirst("HTTP_X_FORWARDED_FOR"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = headers.getFirst("X-Real-IP"); } - if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + if (StrUtil.isBlank(ip) || UNKNOWN.equalsIgnoreCase(ip)) { ip = request.getRemoteAddress().getAddress().getHostAddress(); } return ip.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ip; diff --git a/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/filter/RequestGlobalFilter.java b/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/filter/RequestGlobalFilter.java index e75496e..91fd417 100644 --- a/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/filter/RequestGlobalFilter.java +++ b/cloud-common/cloud-common-gateway/src/main/java/cn/sh/stc/sict/cloud/common/gateway/filter/RequestGlobalFilter.java @@ -65,7 +65,7 @@ public class RequestGlobalFilter implements GlobalFilter, Ordered { // IP白名单 String ip = WebUtils.getIP(request); - log.error("RemoteAddress = {}, ip = {}", request.getRemoteAddress(), ip); + // log.error("RemoteAddress = {}, ip = {}", request.getRemoteAddress(), ip); try { if (whitIPConfig.getLimitFlag() && !IPStrUtil.matches(ip, whitIPConfig.getWhites())) { ServerHttpResponse response = exchange.getResponse(); -- 2.22.0