jsp获取客户端ip地址
来源:互联网 发布:js树状结构代码 编辑:程序博客网 时间:2024/05/16 04:30
可是当我访问http://www.xxx.com/index.jsp/ 时,返回的IP地址始终是unknown,也并不是如上所示的127.0.0.1 或 192.168.1.110了,而我访问http://192.168.1.110:2046/index.jsp 时,则能返回客户端的真实IP地址,写了个方法去验证。原因出在了Squid上。squid.conf 的配制文件 forwarded_for 项默认是为on,如果 forwarded_for 设成了 off 则:X-Forwarded-For: unknown
于是可得出获得客户端真实IP地址的方法二:
ip = request.getHeader("x-forwarded-for");
if(null ==ip || ip.length()==0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(null == ip || ip.length() ==0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(null ==ip || ip.length()==0 || "unknown".equalsIgnoreCase(ip)){
ip = request.getRemoteAddr();
}
可是,如果通过了多级反向代理的话,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
- jsp获取客户端ip地址
- JSP 获取客户端的实际IP地址
- Java,Jsp获取客户端IP地址
- jsp获取客户端ip和mac地址
- jsp获取客户端真实ip地址
- JSP如何获取客户端真实IP地址
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端IP地址
- 客户端获取IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端IP地址
- 获取客户端ip地址
- 获取客户端ip地址
- 获取客户端IP地址
- 获取客户端IP地址
- 防止覆盖集合中的数据
- CSS打造末尾自动伸缩的菜单
- myeclipse 添加jar 问题
- 程序员是这样炼成的(3)-做水桶中最短的一块木板
- .net集合类的研究--Array,ArrayList,List<T>
- jsp获取客户端ip地址
- 触发器
- db2取前十条记录 db2修改字段长度 db2增加字段方法
- linux下将文件模拟为磁盘
- JS正则表达式验证邮箱
- APUE缩减版
- .net集合类的研究-哈希表(一)--Hashtable,Dictionary<TKey,TValue>
- sphinx 查询过程
- 如何彻底删除wine中的软件 转自:http://www.feixiangs.com/logs/109940550.html