request getHeader("x-forwarded-for") 获取客户端IP地址
来源:互联网 发布:喜马拉雅无法使用网络 编辑:程序博客网 时间:2024/06/07 01:45
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了x-forwarded-for信息。用以跟踪原有的客户端 IP地址和原来客户端请求的服务器地址。
public class GetIpAddr { private static GetIpAddr instance = new GetIpAddr(); private GetIpAddr() { } public static GetIpAddr getInstance() { return instance; } 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; }}
0 0
- request getHeader("x-forwarded-for") 获取客户端IP地址
- request.getHeader("x-forwarded-for")获取IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader(“x-forwarded-for”) 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader(“x-forwarded-for”) 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- request getHeader(“x-forwarded-for”) 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- servlet request getHeader(“x-forwarded-for”) 获取真实IP
- servlet request getHeader("x-forwarded-for") 获取真实IP
- 获取客户端真实IP——request.getHeader("x-forwarded-for")
- HttpServletRequest getHeader("x-forwarded-for")获取真实客户端IP
- 试用groovy
- android:如何在TextView实现图文混排
- 接口和抽象类有什么区别
- mongodb安装及遇到的问题
- java OA ERP CMS 项目源码 网站源码
- request getHeader("x-forwarded-for") 获取客户端IP地址
- 智能计算术语: metaheuristic
- cocos2dx-3.0 中的关于物理引擎Box2D与chipmunk
- Mybatis传多个参数(三种解决方案)
- Oracle存储过程执行动态sql
- jdbc三层应用开发MVC
- scp命令
- TinyOS视频第八集内容介绍
- ionic start 错误 checksum