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(支持代理服务器)
CDN获取真实IP
此文件包含了用PHP写的获取真实IP 和中文截取函数,有需要的可以看看,大家相互交流了^_^
破解用户虚拟ip获取真实的ip,破解被代理的ip直接获取用户真实ip 提高安全性
ASP如何获取真实IP地址 大家都知道,在ASP中可以使用Request.ServerVariables("REMOTE_ADDR")来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端...
Java获取客户端真实IP地址
PHP不同环境下获取真实的IP
获取用户真实IP地址 获取用户真实IP地址 获取用户真实IP地址
如何在haproxy的后端服务器查看客户端的IP? IIS日志中获取访客真实IP的解决方案
PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置
根据IP地址获取真实IP所在地区 ,使用纯真IP库(纯真版20160215)
java代码实现 服务器端获取客户端的真实IP(亲测可用)
获取ip和城市名称。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Java获取客户端真实的IP的两种实现方法,即使通过多级代理也能获取到,很有用
IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等
集成各种获取方式,获取正确的IP
经过一般的NAT端口映射后,客户端访问真实用户IP丢失,的处理方法。 利用NAT123端口映射,客户端用户真正IP不丢失。 示例了ASP,.NET,DISCUZ论坛等例子,都是用...经过NAT123端口映射的WEB网站应用用户真实IP不丢失。
java获取用户真实ip
获取用户真实IP地址,并根据IP地址返回用户所在的国家及城市!
识别ip获取错误情况,自动截取正确ip信息,用于获取用户请求ip地址