获取用户真实IP
在后台或者jsp页面中,通常我们获得客户端IP的地址的方法是:request.getRemoteAddr()。
问题
上面的方法在大部分情况下是有效的,但是如果遇到反向代理软件,我们用这种方法获取到的客户端IP地址是:127.0.0.1或 192.168.1.110,,而不是客户端的真实IP地址
解决方法
通常我们在转发请求的HTTP头信息中,增加了“x-forwarded-for”信息,用来跟踪原有的客户端IP地址和原来服务器的地址。
- 我们可以通过一下代码获取客户端的真实IP地址
public String getIp(HttpServletRequest request){
String ip = "";
if(request.getHeader("x-forwarded-for")==null){
ip = request.getRemoteAddr();
}else {
ip = request.getHeader("x-forwarded-for");
}
return ip;
}