在有代理服务器的情况下,需要通过X-FORWARDED-FOR http头来获得真实的用户ip:

 1 public final class HTTPUtils {
 2 
 3     private static final String HEADER_X_FORWARDED_FOR =
 4         "X-FORWARDED-FOR";
 5 
 6     public static String remoteAddr(HttpServletRequest request) {
 7         String remoteAddr = request.getRemoteAddr();
 8         String x;
 9         if ((x = request.getHeader(HEADER_X_FORWARDED_FOR)) != null) {
10             remoteAddr = x;
11             int idx = remoteAddr.indexOf(',');
12             if (idx > -1) {
13                 remoteAddr = remoteAddr.substring(0, idx);
14             }
15         }
16         return remoteAddr;
17     }
18 
19 }
 1 public final class HTTPUtils {
 2 
 3     private static final String HEADER_X_FORWARDED_FOR =
 4         "X-FORWARDED-FOR";
 5 
 6     public static String remoteAddr(HttpServletRequest request) {
 7         String remoteAddr = request.getRemoteAddr();
 8         String x;
 9         if ((x = request.getHeader(HEADER_X_FORWARDED_FOR)) != null) {
10             remoteAddr = x;
11             int idx = remoteAddr.indexOf(',');
12             if (idx > -1) {
13                 remoteAddr = remoteAddr.substring(0, idx);
14             }
15         }
16         return remoteAddr;
17     }
18 
19 }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
猜你喜欢
  • 2021-08-30
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
相关资源
相似解决方案