1. 程式人生 > >獲取使用者真實ip

獲取使用者真實ip


ip


/**
	 * 獲取真實ip
	 * @author chenp
	 * @param request
	 * @return
	 */
	public  String getReallyIp(HttpServletRequest request) {
           String ip = request.getHeader("X-Forwarded-For");
           if(!StringUtils.isEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
               //多次反向代理後會有多個ip值,第一個ip才是真實ip
               int index = ip.indexOf(",");
               if(index != -1){
                   return ip.substring(0,index);
               }else{
                   return ip;
               }
           }
           ip = request.getHeader("X-Real-IP");
           if(!StringUtils.isEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
               return ip;
           }
           return request.getRemoteAddr();
       }