Tuesday, 20 August 2013

what is the right way to get request's ip

what is the right way to get request's ip

I find some different ways to get ip in servlet. but i don't know which
one is rigth and why.
1:request.getHeader( "X-Real-IP" )
2: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.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
3:String ip=request.getHeader("x-forwarded-for"); if(ip==null){
ip=request.getRemoteAddr(); } String ips[]=ip.split(","); ip=ips[0];
4:request.getRemoteAddr() request.getHeader("X-Forwarded-For")
request.getHeader("Client-IP")

No comments:

Post a Comment