private String getIpAddr(HttpServletRequest request){
String 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)) {
ipAddress = request.getRemoteAddr();
if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){
//根据网卡取本机配置的IP
InetAddress inet=null;
try {
inet = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
ipAddress= inet.getHostAddress();
}
}
//对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15
if(ipAddress.indexOf(",")>0){
ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));
}
}
return ipAddress;
}
分享到:
相关推荐
### 获取客户端真实IP(支持代理服务器) #### 一、背景介绍 在Web开发过程中,有时候我们需要获取客户端的真实IP地址,特别是在涉及到用户地理位置定位、安全控制等场景时尤为重要。然而,在实际应用中,很多情况...
#### 二、获取真实IP的第一种方法 为了获取客户端的真实IP地址,可以利用HTTP头部中的`X-Forwarded-For`字段。当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java ...
### CDN获取真实IP 在互联网应用中,内容分发网络(Content Delivery Network,简称CDN)是一种广泛采用的技术,用于加速网站内容的加载速度、提高访问稳定性和安全性。然而,当用户通过CDN访问网站时,服务器接收...
#### 一、理解获取真实IP的需求背景 在实际应用中,客户端访问服务器时,可能会经过Nginx、Apache等反向代理服务器或CDN服务(如Cloudflare),这些中间层会修改请求头中的IP信息,导致`$_SERVER['REMOTE_ADDR']`...
### ASP如何获取真实IP地址 在ASP(Active Server Pages)编程环境中,开发人员经常会遇到一个需求:需要准确地获取客户端的真实IP地址。然而,在实际应用中,由于许多用户可能通过代理服务器来访问网站,这就导致...
### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....
破解用户虚拟ip获取真实的ip,破解被代理的ip直接获取用户真实ip 提高安全性
java代码实现 服务器端获取客户端的真实IP(亲测可用)
总之,获取用户真实IP的过程需要综合考虑多种因素,包括直接获取、检查代理头信息以及IP地址的有效性验证。在编写代码时,应确保处理各种可能的情况,以获取最准确的信息。通过上述方法,我们可以更可靠地在PHP环境...
使用 SLB 后 Nginx、Apache 获取真实 IP 在使用 SLB(Server Load Balancer)后,如何获取真实 IP 是一个常见的问题。SLB 的作用是将用户请求分发到多个服务器上,以提高网站的负载能力和可用性。但是,在 SLB 后,...
1. ASP.NET中获取真实IP的方法: 在ASP.NET中,可以通过检查`Request.ServerVariables`集合中的`HTTP_X_FORWARDED_FOR`变量来获取客户端IP。代码如下: ```csharp string ip = Request.ServerVariables[...
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
### IIS日志中获取访客真实IP的解决方案 #### 背景介绍 在网络环境中,获取客户端的真实IP地址对于安全审计、流量分析等非常重要。然而,在使用负载均衡器(如HAProxy)的情况下,直接从后端服务器(例如运行IIS的...
根据IP地址获取真实IP所在地区 ,使用纯真IP库(纯真版20160215)
获取ip和城市名称。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
本篇文章将详细介绍如何在不同情况下获取用户的真实IP地址,并探讨可能遇到的问题。 首先,最常见的方法是在HTTP请求头中查找“X-Real-IP”或“X-Forwarded-For”字段。这些字段通常由代理服务器设置,用于传递原始...
IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等
在PHP编程中,获取用户真实IP地址和对中文字符串进行截取是常见的需求。下面将详细解释这两个功能的实现。 首先,我们来看如何在PHP中获取用户的真实IP地址。由于HTTP请求中的IP地址可能受到代理服务器的影响,因此...
另一方面,获取真实IP地址有时需要考虑到CDN(内容分发网络)和代理服务器的影响,因为它们可能会改变请求头中的IP信息。为了获取准确的地理位置信息,可能需要使用第三方IP库或API,例如MaxMind的GeoIP数据库或...
集成各种获取方式,获取正确的IP