From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +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