From bb28c2f09f7fa36b8b80f9d19f23631623b80d1c Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 01 三月 2025 16:59:46 +0800
Subject: [PATCH] #
---
zy-asrs-common/src/main/java/com/zy/asrs/common/utils/IpTools.java | 188 +++++++++++++++++++++++-----------------------
1 files changed, 94 insertions(+), 94 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/IpTools.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/IpTools.java
index f1b3ea7..1ca533d 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/IpTools.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/IpTools.java
@@ -1,94 +1,94 @@
-package com.zy.asrs.common.utils;
-
-import com.zy.asrs.framework.common.Cools;
-import lombok.extern.slf4j.Slf4j;
-
-import javax.servlet.http.HttpServletRequest;
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.util.Enumeration;
-
-/**
- * Created by vincent on 2020/8/6
- */
-@Slf4j
-public class IpTools {
-
- public static String gainRealIp(HttpServletRequest request) {
- String ipAddress = "";
- try {
- if (request == null) {
- return ipAddress;
- }
-
- //鎺掗櫎鏈湴娴嬭瘯
- if ("127.0.0.1".equals(request.getServerName()) || "localhost".equals(request.getServerName())) {
- ipAddress = "127.0.0.1";
- return ipAddress;
- }
-
- ipAddress = request.getRemoteAddr();
- if (Cools.isEmpty(ipAddress)) {
- ipAddress = request.getRemoteHost();
- } else {
- return ipAddress;
- }
-
- if (!Cools.isEmpty(ipAddress)) {
- return ipAddress;
- }
-
- // 鑾峰彇鐪熷疄ip,鎺掗櫎浠g悊ip
- ipAddress = request.getHeader("Referer");
-
- // ipAddress = this.getRequest().getRemoteAddr();
- ipAddress = request.getHeader("X-Forwarded-For");
- if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
- ipAddress = request.getHeader("Proxy-Client-IP");
- }
- if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
- ipAddress = request.getHeader("WL-Proxy-Client-IP");
- }
- if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
- // 鏇存崲niginx浠g悊
- // ipAddress = request.getRemoteAddr();
- ipAddress = request.getHeader("X-Real-IP");
- if (ipAddress != null && (ipAddress.equals("" + "") || ipAddress.endsWith("0:0:0:0:0:0:0:1"))) {
- // 鏍规嵁缃戝崱鍙栨湰鏈洪厤缃殑IP
-
- // linux涓嬩篃鍙互鑾峰彇鏈湴鐨刬p鍦板潃
- Enumeration<?> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
- InetAddress ip;
- while (allNetInterfaces.hasMoreElements()) {
- NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
- Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
- while (addresses.hasMoreElements()) {
- ip = addresses.nextElement();
- if (ip instanceof Inet4Address) {
- // 鑾峰彇鐪熷疄鐨処p鍦板潃
- ipAddress = ip.getHostAddress();
-
- }
- }
- }
-
- }
-
- }
- // 瀵逛簬閫氳繃澶氫釜浠g悊鐨勬儏鍐碉紝绗竴涓狪P涓哄鎴风鐪熷疄IP,澶氫釜IP鎸夌収','鍒嗗壊"***.***.***.***".length()=15
- if (ipAddress != null && ipAddress.length() > 15) {
-
- if (ipAddress.indexOf(",") > 0) {
- ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
- }
- }
-
- } catch (Exception e) {
- log.warn("ip{},瑙f瀽寮傚父", ipAddress, e);
- }
- return ipAddress;
-
- }
-
-}
+package com.zy.asrs.common.utils;
+
+import com.zy.asrs.framework.common.Cools;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.servlet.http.HttpServletRequest;
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.util.Enumeration;
+
+/**
+ * Created by vincent on 2020/8/6
+ */
+@Slf4j
+public class IpTools {
+
+ public static String gainRealIp(HttpServletRequest request) {
+ String ipAddress = "";
+ try {
+ if (request == null) {
+ return ipAddress;
+ }
+
+ //鎺掗櫎鏈湴娴嬭瘯
+ if ("127.0.0.1".equals(request.getServerName()) || "localhost".equals(request.getServerName())) {
+ ipAddress = "127.0.0.1";
+ return ipAddress;
+ }
+
+ ipAddress = request.getRemoteAddr();
+ if (Cools.isEmpty(ipAddress)) {
+ ipAddress = request.getRemoteHost();
+ } else {
+ return ipAddress;
+ }
+
+ if (!Cools.isEmpty(ipAddress)) {
+ return ipAddress;
+ }
+
+ // 鑾峰彇鐪熷疄ip,鎺掗櫎浠g悊ip
+ ipAddress = request.getHeader("Referer");
+
+ // ipAddress = this.getRequest().getRemoteAddr();
+ ipAddress = request.getHeader("X-Forwarded-For");
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ ipAddress = request.getHeader("Proxy-Client-IP");
+ }
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ ipAddress = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+ // 鏇存崲niginx浠g悊
+ // ipAddress = request.getRemoteAddr();
+ ipAddress = request.getHeader("X-Real-IP");
+ if (ipAddress != null && (ipAddress.equals("" + "") || ipAddress.endsWith("0:0:0:0:0:0:0:1"))) {
+ // 鏍规嵁缃戝崱鍙栨湰鏈洪厤缃殑IP
+
+ // linux涓嬩篃鍙互鑾峰彇鏈湴鐨刬p鍦板潃
+ Enumeration<?> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
+ InetAddress ip;
+ while (allNetInterfaces.hasMoreElements()) {
+ NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
+ Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
+ while (addresses.hasMoreElements()) {
+ ip = addresses.nextElement();
+ if (ip instanceof Inet4Address) {
+ // 鑾峰彇鐪熷疄鐨処p鍦板潃
+ ipAddress = ip.getHostAddress();
+
+ }
+ }
+ }
+
+ }
+
+ }
+ // 瀵逛簬閫氳繃澶氫釜浠g悊鐨勬儏鍐碉紝绗竴涓狪P涓哄鎴风鐪熷疄IP,澶氫釜IP鎸夌収','鍒嗗壊"***.***.***.***".length()=15
+ if (ipAddress != null && ipAddress.length() > 15) {
+
+ if (ipAddress.indexOf(",") > 0) {
+ ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
+ }
+ }
+
+ } catch (Exception e) {
+ log.warn("ip{},瑙f瀽寮傚父", ipAddress, e);
+ }
+ return ipAddress;
+
+ }
+
+}
--
Gitblit v1.9.1