`

获得客户端真实IP的方法

    博客分类:
  • java
 
阅读更多
	/**
	 * 取得客户端真实ip
	 * 
	 * @param request
	 * @return 客户端真实ip
	 */
	public String getIpAddr(HttpServletRequest request) {
		String ip = request.getHeader("X-Forwarded-For");
		logger.debug("1- X-Forwarded-For ip={}", ip);
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("Proxy-Client-IP");
			logger.debug("2- Proxy-Client-IP ip={}", ip);
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("WL-Proxy-Client-IP");
			logger.debug("3- WL-Proxy-Client-IP ip={}", ip);
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_CLIENT_IP");
			logger.debug("4- HTTP_CLIENT_IP ip={}", ip);
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
			logger.debug("5- HTTP_X_FORWARDED_FOR ip={}", ip);
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
			logger.debug("6- getRemoteAddr ip={}", ip);
		}
		logger.info("finally ip={}", ip);
		return ip;
	}

 

分享到:
评论

相关推荐

    webService调取IP所在地,以及获得客户端真实IP

    webService调取IP所在地,以及获得客户端真实IP

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

    Java获取客户端真实的IP的两种实现方法,即使通过多级代理也能获取到,很有用

    获取客户端真实 IP

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

    golang 获取客户端IP

    集成各种获取方式,获取正确的IP

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

    我们知道在jsp里,获取网页客户端的ip地址的方法是:request.getremoteaddr(),这种...如果使用了反向代理软件,用request.getremoteaddr()方法获取的ip地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实ip。

    获取客户端IP

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

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

    各个网站急需解决的问题就是如何给用户提供更好的服务,以及防止某些用户的恶意攻击,要达到这一目的首先要获得用户方的真实的IP地址,然后再对该IP地址作相应的处理,本文阐述的就是如何获取客户端的真实IP地址。

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

    主要介绍了PHP获取客户端真实IP地址的几种情况分析和实现代码,重点在几种干扰获得真实IP的几种情况介绍,需要的朋友可以参考下

    Java获取客户端IP

    但是在通过了Apache,Squid等反向代理软件不能获取到客户端的真实IP地址了。  原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给...

    C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析

    本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法。分享给大家供大家参考,具体如下: 1、获取本机的IP地址集合: /// /// 获取本机所有ip地址 /// /// <param name=netType>InterNetwork:...

    PHP获取真实客户端的真实IP

    本文主要介绍了PHP获取真实客户端的真实IP(REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR)的方法,具有很好的参考价值。下面跟着小编一起来看下吧

    获取客户端外网ip和ip定位修订版

    这篇文章是对上篇文章获取外网ip和ip定位的修订版,上篇文章中得到的外网ip是服务器端的外网ip,而不是客户端的外网ip,此篇文章进行修改,得到客户端的外网ip和根据ip定位,上篇文章给大家带来的不便,请谅解。

    在复杂网络环境中取真实IP的方法

    分析了header中各种属性的意义及内容,最后得到的终极取真实IP的方法,目前正确率达98%

    获取真实ip和城市名称

    获取ip和城市名称。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    易语言伪造请求ip 伪造请求ip 网页访问伪造ip

    易语言伪造网页访问ip地址 结合HTTP扩展请求头 X-Forwarded-For 可以对客户端IP进行伪造 X-Forwarded-For 是一个 HTTP 扩展...因此,一般来说,我们要获得客户端地址,直接从 X-Forwarded-For 拿到第一个 IP 地址即可

    PHP获得用户使用的代理服务器ip即真实ip

    IP 地址 就要使用 $_SERVER[“HTTP_X_FORWARDED_FOR”] 来读取 但并不是每个代理服务器都能用 $_SERVER[“HTTP_X_FORWARDED_FOR”] 来读取客户端的真实 IP 有些用此方法读取到的仍然是代理服务器的 IP 

    IP地址访问控制

    IP地址访问控制,得到真实的客户端地址,再得到服务端的地址,请求IP一一比较

    视频会议系统(客户端程序)

    录像和回放*系统支持将会议的全部音频、视频以及数据操作录制在一个文件中,回放的时候可以真实再现当时会议场景。*系统支持在会议中回放预先录制的文件。 高效的传输算法*通过独立自主研发的传输算法,系统可以适应...

    php适用于各种数据库链接类.zip

    介绍一个适用于各种数据库链接类,返回根据从结果集取得的行生成的数组,返回根据所取得的行生成的对象,取得前一次 MySQL 操作所影响的记录行数,获得客户端真实的IP地址。

Global site tag (gtag.js) - Google Analytics