`
cjx186
  • 浏览: 271216 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java获得客户端真实IP

    博客分类:
  • java
 
阅读更多
获得客户端真实IP地址的方法一:
public String getRemortIP(HttpservletRequest request) {
	if (request.getHeader("x-forwarded-for") == null) {
		return request.getRemoteAddr();
	}
	return request.getHeader("x-forwarded-for");
}

获得客户端真实IP地址的方法二:
public String getIpAddr(HttpservletRequest request) {
	String ip = request.getHeader("x-forwarded-for");
	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
		ip = request.getHeader("Proxy-Client-IP");
	}
	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
		ip = request.getHeader("WL-Proxy-Client-IP");
	}
	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
		ip = request.getRemoteAddr();
	}
	return ip;
}

如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,取X-Forwarded-For中第一个非unknown的有效IP字符串。如: X-Forwarded-For:192.168.1.101, 192.168.1.120, 192.168.1.130, 192.168.1.140 用户真实IP为: 192.168.1.101
分享到:
评论

相关推荐

    Java获取客户端真实IP地址

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

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

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

    Java中获取客户端的真实IP

    Java中获取客户端的真实IP

    java 获取客户端ip mac地址

    以上代码首先获取当前的`FacesContext`实例,然后从中得到`HttpServletRequest`对象,并调用其`getRemoteAddr()`方法获取客户端的IP地址。 需要注意的是,`getRemoteAddr()`方法返回的是客户端的IP地址,如果客户端...

    java socket 用户真实IP测试

    在标题“java socket nginx tcp转发 用户真实IP测试”中,主要探讨的是如何在Java的Socket连接中,通过Nginx的TCP转发获取到实际用户的IP地址。 在描述中提到的博客文章,很可能是详细介绍了这个问题的解决方案。...

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

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

    java获取客户端ip及mac地址

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

    Java获取客户端IP及Mac地址(同网段).rar

    但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。所以...

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

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

    java获得客户端真实的ip地址

    但是在通过了apache,squid等反向代理软件就不能获取到客户端的真实ip地址了。如果使用了反向代理软件,用request.getremoteaddr()方法获取的ip地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实ip。

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

    对于直接访问服务器端的方式,可以通过getRemoteAddr()方法获得客户端真实IP地址。然而,对于通过多级代理访问服务器端的方式,getRemoteAddr()方法将不能获取客户端真实IP地址。这是因为在经过代理服务器时,IP将会...

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

    但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.abc.com/的URL时,用request.getRemoteAddr()方法...

    获取客户端IP

    在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等...

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

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

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

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

    获取客户端真实 IP

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

    IP工具类,通过传入的request获取ip地址(JAVA)

    同样,如果在反向代理环境中,我们需要检查`X-Forwarded-For`头来获取真实的IP: ```java String forwardedFor = request.getHeaders().getFirst("X-Forwarded-For"); if (forwardedFor != null) { ipAddress = ...

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

    ### JSP 页面获取客户端真实 IP 的方法 在 IT 领域中,了解客户端的真实 IP 地址对于网站统计、安全防护以及个性化推荐等方面都非常重要。由于互联网中的 HTTP 请求经常通过代理服务器转发,因此直接使用 `request....

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

    下面是一段Java代码示例,展示了如何实现获取客户端真实IP的功能: ```java public String getRealIP(HttpServletRequest request) { // 首先尝试从X-Forwarded-For头部获取IP地址 String ip = request.getHeader...

    java获取用户真实ip

    需要注意的是,当客户端通过Nginx等反向代理服务器连接到应用服务器时,此方法获取的将是反向代理服务器的IP地址而非客户端真实IP。 ### 处理多层代理的情况 在实际部署中,客户端的请求可能经过多层代理服务器...

Global site tag (gtag.js) - Google Analytics