`
jiaoronggui
  • 浏览: 1328291 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
B7c2eb31-a8ea-3973-a517-d00141f39b89
项目管理软件-redmin...
浏览量:116437
4a63e153-250f-30f6-a051-97cfc67cb3d3
IT职业规划
浏览量:199337
社区版块
存档分类
最新评论

Java获取客户端I牌地址,怎么会出现多个IP地址

 
阅读更多

登陆的时候,一般会记录最后登录的IP地址,今天奇怪了,看到了这个样的记录;

 

2020-03-18 19:19:55 	221.207.209.9, 220.194.106.94
2019-11-03 09:19:55	        117.136.38.170, 220.194.107.221

 

客户问我什么原因,非常奇怪,查了下,实际情况是访问者多级反向代理

 

如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串Ip值,究竟哪个才是真正的用户端的真实IP呢?

答案是取X-Forwarded-For中***个非unknown的有效IP字符串。

如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100用户真实IP为: 192.168.1.110

 

 

参考了 https://developer.51cto.com/art/201111/305181.htm

 

分享到:
评论

相关推荐

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

    5. **IP地址的其他操作**:如计算IP地址的子网掩码、获取IP地址的主机名、判断两个IP地址是否在同一子网等。 对于这个工具类的实现,`IpUtils.java`文件就是关键。打开这个文件,我们可以看到类定义、方法声明和...

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位或者进行安全验证等场景下。Java 提供了多种方式来获取客户端的 IP 地址,其中...

    Java获取客户端真实IP地址

    但是,需要注意的是,`X-Forwarded-For`可能包含多个IP地址,且可能存在被篡改的风险,因此需要进一步的处理。 #### 方法二:多级反向代理环境下的真实IP获取 在更复杂的情况下,如存在多级反向代理,`X-Forwarded...

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

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

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

    // 多次反向代理后会有多个IP值,第一个IP才是真实IP,它们按照英文逗号','分割 if (ip.indexOf(",") != -1) { ip = ip.split(",")[0]; } } // ... } ``` 在上面的代码中,首先通过x-forwarded-for请求头获取...

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

    1. 首先尝试从HttpServletRequest的`getHeader("X-Forwarded-For")`获取IP地址,这个值可能会包含多个IP,客户端IP通常是列表中的第一个。 2. 如果`X-Forwarded-For`为空或不可靠,再使用`getRemoteAddr()`获取IP...

    java获取客户端IP及IP归属地

    如果用户通过代理服务器访问,`X-Forwarded-For`头可能会有多个IP,这时需要处理好代理链,一般取第一个非代理IP作为客户端真实IP。 3. **获取IP归属地** 获取IP归属地通常需要借助第三方的服务或者数据库,比如...

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

    当请求经过多级反向代理时,`X-Forwarded-For`字段可能会包含多个IP地址,我们需要从中提取出客户端的真实IP地址。通常,客户端的真实IP地址位于这些IP地址列表的第一个有效非`unknown`值。 ```java public static ...

    java获取ip地址

    ### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...

    java中怎么获取客户端的真实的IP

    在某些情况下,`X-Forwarded-For`字段可能包含多个IP地址,这是因为在多个代理服务器之间转发时,每个代理服务器都会在该字段中添加自己的IP地址。这时,我们需要获取最前面的一个IP地址作为客户端的真实IP地址。 *...

    JAVA获取别人的ip地址

    ### JAVA获取别人IP地址的方法与实现 #### 一、引言 在开发网络应用程序时,经常需要获取客户端的IP地址。这不仅可以用于日志记录、统计分析,还可以用于某些安全控制措施,例如限制某些IP访问服务等。本文将详细...

    使用JAVA获取客户端MAC地址.pdf

    7. **类与方法设计**:`GetMACAddress`类封装了获取MAC地址的功能,`getMACAddress(String ipAddress)`方法接收一个IP地址作为参数,返回对应的MAC地址。此外,`main`方法展示了如何在实际应用中使用这个类。 总之...

    java socket 用户真实IP测试

    2. **处理多个代理的情况**:"X-Forwarded-For"可能包含多个IP,因为请求可能经过多个代理。格式通常是"client IP, proxy 1 IP, proxy 2 IP",所以我们需要处理这个字符串,获取第一个IP作为真实客户端IP。 ```java...

    用Java来获取访问者真实的IP地址

    在这种情况下,`X-Forwarded-For`头部可能包含多个IP地址,此时应选择最接近客户端的那个IP地址作为真实IP地址。 - 对于某些特殊的网络环境(如私有网络),可能还需要额外的逻辑来处理特殊格式的IP地址。 总之,在...

    jsp获取客户端IP地址的方法.docx

    1. **多级代理问题**:如果客户端经过了多级代理,那么`X-Forwarded-For`头部可能包含多个IP地址,这时需要特别处理。 2. **内网穿透**:在内网穿透场景下,直接获取`request.getRemoteAddr()`往往只能获取到NAT设备...

    获取客户端ip

    在多级反向代理的情况下,`X-Forwarded-For`字段可能会包含多个IP地址。为了确保能够正确地获取到客户端的真实IP地址,需要对这些IP地址进行处理,提取出第一个非`unknown`的有效IP地址: ```java public String ...

    jsp页面得到客户端的真是ip

    在 JSP 页面中获取客户端的真实 IP 地址通常需要编写一些 Java 代码片段来处理。以下是一个典型的示例: ```jsp ;charset=gb2312"%> <%@page import="java.util.*"%> String realIP = request.getHeader("x-...

    用java获取IP地址

    本文详细介绍了如何使用Java来获取域名的IP地址,包括单个IP地址以及多个IP地址的情况,并特别关注了处理“localhost”的方法。这些技术在实际开发中非常有用,尤其是在需要与远程服务器进行通信的情况下。通过这些...

    idea,java获取ip地址

    // 处理可能的多个IP地址,例如:192.168.1.1, 192.168.1.2 if (ipAddress.contains(",")) { ipAddress = ipAddress.split(",")[0]; } ``` 3. **处理特殊情况**:在某些网络环境中,如使用CDN或者负载均衡,可能有...

Global site tag (gtag.js) - Google Analytics