:::: 개발 ::::/└ JSP & SPRING

로컬아이피 체크

nayha 2014. 3. 26. 16:05


localIp.jsp

테스트 하다 보면 로컬 아이피는 그냥 데이타를 박아두고 쓰고 싶을때가 있다..


그래서 찾아봤다.


<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html lang="ko">

<BODY>


<%! String userIP = null;%>

<%-- Test if ip begins with 192.168 (DCU) or 127.0.0.1 (localhost)  --%>

<%userIP = request.getRemoteAddr();   

// 생성된 아이피 String 변수 삽입 첫글자부터 7번째까지 비교  

if ((userIP.equals("127.0.0.1")))  {    %>

<H1>ACCESS GRANTED</H1>

<% } else {     

    out.println("<H1>ACCESS DENIED</H1>");

    out.println("Illegal access from an external machine with IP Address: " + userIP);

}

%>

</BODY>

</HTML>


혹 

0:0:0:0:0:0:0:1  로 나온다면 윈도우 7부터 ipv6 가 적용되어서 그러타 한다 변경 하고 싶으면 ~~


아래 url 참조 하세용~


http://kdarkdev.tistory.com/3 


특정os에서 발생하는 문제이고(windows7) 톰캣을 사용했을때 해결 방법이다

request.getRemoteAddr()로 ip를 가져올때 0:0:0:0:0:0:0:1라고 나온다면 
이것은 인터넷 주소체계 ipv4, ipv6의 루프백 주소 차이이므로 비정상은 아니다
ipv4의 루프백 주소는 127.0.0.1
ipv6의 루프백 주소는 0:0:0:0:0:0:0:1
위와 같고 windows7은 기본적으로 ipv6 type으로 ip를 리턴하므로 ipv4형식으로 ip를 보고 싶다면 was 기동시 vm argument를 ipv4 type으로 주면 된다
방법은 크게 2가지

*** 루프백 주소란? ***
네트워크상에서 자기자신을 나타내는 인터페이스, 주소  ...






반응형