From d615fc515fc52d6ed970c11d59a017e48de4be32 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 16 Jun 2026 16:43:58 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/utils/ip/IpUtils.java | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/nq/utils/ip/IpUtils.java b/src/main/java/com/nq/utils/ip/IpUtils.java
index 031206a..900fb71 100644
--- a/src/main/java/com/nq/utils/ip/IpUtils.java
+++ b/src/main/java/com/nq/utils/ip/IpUtils.java
@@ -10,20 +10,33 @@
return "";
}
- String ip = request.getHeader("X-real-ip");
- if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ String ip = request.getHeader("X-Real-IP");
+ if (isBlankIp(ip)) {
+ ip = request.getHeader("X-real-ip");
+ }
+ if (isBlankIp(ip)) {
ip = request.getHeader("x-forwarded-for");
}
- if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ if (isBlankIp(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
- if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ if (isBlankIp(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
- if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ if (isBlankIp(ip)) {
ip = request.getRemoteAddr();
}
- return ip;
+ if (ip != null && ip.contains(",")) {
+ ip = ip.split(",")[0].trim();
+ }
+ if ("0:0:0:0:0:0:0:1".equals(ip) || "::1".equals(ip)) {
+ ip = "127.0.0.1";
+ }
+ return ip == null ? "" : ip.trim();
+ }
+
+ private static boolean isBlankIp(String ip) {
+ return ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip);
}
}
--
Gitblit v1.9.3