사용자 가 방문 한 실제 ip 주 소 를 어떻게 가 져 옵 니까?

저 희 는 보통 request. getRemoteAddr () 를 사용 하여 사용자 의 ip 주 소 를 가 져 옵 니 다.그러나 프 록 시 를 사용 하면 이 방법 을 사용 하면 실제 ip 을 얻 지 못 하고 같은 ip 을 얻 을 수 있 습 니 다.
      이 때 http 헤더 에서 가 져 올 수 있 습 니 다:
public static String getRemoteAddr(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.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();
        }
        return ip;
    }

위의 이 방법 을 통 해 사용자 의 실제 ip 을 얻 을 수 있 습 니 다.직접 측정 한 결과 효과 가 있 으 니, 여러분 들 의 비평 과 시정 을 바 랍 니 다.

좋은 웹페이지 즐겨찾기