`
sundongyadh
  • 浏览: 20182 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

服务器 获取 客户端的真实IP

    博客分类:
  • IP
 
阅读更多
 /**
  * 
  * @param request
  * @return 请求IP地址
  */
 public static String getIp(HttpServletRequest request) {
  //
  String ip = null;
  //
  ip = request.getHeader("X-Forwarded-For");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  //
  ip = request.getHeader("Proxy-Client-IP");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  //
  ip = request.getHeader("WL-Proxy-Client-IP");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  //
  ip = request.getHeader("HTTP_CLIENT_IP");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  //
  ip = request.getHeader("HTTP_X_FORWARDED_FOR");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  //
  ip = request.getParameter("__fromReferIP");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  // NGINX用
  ip = request.getHeader("X-Real-IP");
  if (isRealIP(ip)) {
   return getRealIp(ip);
  }
  ip = request.getRemoteAddr();
  //
  return ip;
 }

 /**
  * @param ip
  * @return
  */
 private static boolean isRealIP(String ip) {
  return StringUtils.isNotBlank(ip) && !"unknown".equalsIgnoreCase(ip);
 }

 /**
  * @param ip
  * @return
  */
 private static String getRealIp(String ip) {
  //
  if (ip.indexOf(",") != -1) {
   return StringUtils.left(ip.split(",")[0], 15);

  }
  return ip;
 }

 

分享到:
评论

相关推荐

    获取客户端真实IP(支持代理服务器)

    ### 获取客户端真实IP(支持代理服务器) #### 一、背景介绍 在Web开发过程中,有时候我们需要获取客户端的真实IP地址,特别是在涉及到用户地理位置定位、安全控制等场景时尤为重要。然而,在实际应用中,很多情况...

    java非常强的获取客户端真实IP的两种方法

    ### Java获取客户端真实IP的两种方法详解 #### 一、问题背景 在Web开发中,经常需要获取客户端的真实IP地址来进行一系列的操作,比如统计访问来源、进行地理定位、安全防护等。然而,在实际应用场景中,客户端请求...

    Java获取客户端真实IP地址

    ### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....

    Java获取客户端真实IP地址过程解析

    Java获取客户端真实IP地址过程解析 ...Java获取客户端真实IP地址过程需要考虑多种情况,包括直接访问服务器端和通过多级代理访问服务器端,需要合理地使用HttpServletRequest对象和各种请求头来获取客户端真实IP地址。

    java 获取客户端ip mac地址

    ### Java 获取客户端 IP 和 MAC 地址 在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端...

    获取客户端真实 IP

    java代码实现 服务器端获取客户端的真实IP(亲测可用)

    利用ASP获取客户端真实IP地址.doc

    【ASP获取客户端真实IP地址】 在互联网环境中,为了提供个性化的服务和防范恶意攻击,获取客户端的真实IP地址是一项基础且重要的任务。这篇文章主要探讨如何利用ASP(Active Server Pages)技术来实现这一目标。 *...

    java获取客户端ip及mac地址

    1. **获取 IP 地址**:使用 `request.getRemoteAddr()` 可能会获取到代理服务器的 IP 地址,而通过检查 `X-Forwarded-For` 请求头可以更准确地获取客户端的真实 IP 地址。 2. **获取 MAC 地址**:虽然可以通过执行...

    .net获取客户端IP,Mac地址

    // 如果是本地调试,获取本地真实IP } return ip; } // 获取本机所有网络接口的IP private string GetLocalIpAddress() { IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in...

    Java正确获取客户端真实IP方法整理.docx

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...

    NAT123端口映射获取客户端访问用户真实IP

    在ASP.NET中,可以通过检查`Request.ServerVariables`集合中的`HTTP_X_FORWARDED_FOR`变量来获取客户端IP。代码如下: ```csharp string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); ```...

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    2. **获取客户端IP地址**:在Web应用中,服务器需要区分每个客户端,`IpUtils`可能会有方法处理`HttpServletRequest`对象,从HTTP请求头(如`X-Forwarded-For`或`RemoteAddr`)中解析出真实客户端的IP地址。...

    获取客户端IP地址所需Jar包

    然而,在某些情况下,如通过反向代理服务器(如Nginx、Apache)或负载均衡器访问时,这个方法可能返回的是代理服务器的IP而非客户端的真实IP。这时,我们需要检查X-Forwarded-For头部,该头部通常包含了客户端的IP...

    java获取linux服务器上的IP操作

    Java获取Linux服务器上的IP操作 Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux...

    ASP如何获取真实IP地址

    该方法主要用于透过代理服务器获取客户端的真实IP地址。这是因为当客户端通过代理服务器访问时,代理服务器通常会在HTTP头部添加`X-Forwarded-For`字段,其中包含了原始客户端IP地址的信息。 #### 注意事项 1. **...

    IIS日志中获取访客真实IP的解决方案

    然而,在使用负载均衡器(如HAProxy)的情况下,直接从后端服务器(例如运行IIS的服务器)的日志文件中获取客户端的真实IP可能会变得复杂,因为请求经过负载均衡器后,原始IP信息可能被更改或丢失。本文将详细介绍...

    java socket 用户真实IP测试

    当涉及到通过代理服务器或者负载均衡器(如Nginx)进行TCP转发时,获取用户的真实IP地址可能会变得复杂。在标题“java socket nginx tcp转发 用户真实IP测试”中,主要探讨的是如何在Java的Socket连接中,通过Nginx...

    Java面试之如何获取客户端真实IP

    Java获取客户端真实IP Java面试中获取客户端真实IP是非常重要的一环,今天我们就来探讨如何在Java中获取客户端的真实IP。 首先,我们需要了解为什么需要获取客户端的真实IP。在进行一些小游戏开发时,分享功能是一...

    PHP获取客户端真实IP地址的5种情况分析和实现代码

    这就给获取客户端真实IP地址带来了一定的难度。 #### 3. HTTP头信息与代理类型 HTTP头信息是客户端发送给服务器的一系列信息,其中包含了一些关于客户端和通信过程的详细信息。在PHP中,可以利用`$_SERVER`全局...

Global site tag (gtag.js) - Google Analytics