[java] ip값 가져오기

Yuni·2023년 3월 6일
0

Java

목록 보기
1/15

사용자의 ip 값과 세션값을 가져와서 db에 등록하려고 하는데
방법을 몰라서 찾아보았다 역시 친절하신 분들은 넘친다..!
나중에도 찾아볼 수 있게 기록!

Client ip 찾기

 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.getHeader("X-Real-IP");
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
        ip = request.getHeader("X-RealIP"); 
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
        ip = request.getHeader("REMOTE_ADDR");
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
        ip = request.getRemoteAddr(); 
    }
    if(ip.equals("0:0:0:0:0:0:0:1") || ip.equals("127.0.0.1")) 
    {
        InetAddress address = InetAddress.getLocalHost();
        ip = address.getHostName() + "/" + address.getHostAddress();
    }

session id 찾기

session.getId();

vo에 저장해서 넘겨주면 끝!

session.setMaxInactiveInterval(시간초단위);

이렇게 하면 세션 시간을 설정할수 있음!

출처
https://itworldyo.tistory.com/188
https://khrdev.tistory.com/entry/Java%EB%A1%9C-Client-IP-%EC%B0%BE%EB%8A%94-%EB%B0%A9%EB%B2%95
https://mainpower4309.tistory.com/22

profile
backend developers

0개의 댓글