웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > etc

자바스크립트를 사용하여 ip 주소를 *** 표시로 변경하는 방법은?

Last Modified : 2017-04-25 / Created : 2017-04-10
5,708
View Count
 
만약 클라이언트측에서 자바스크립트를 사용하여 ip 주소를 감추려면 어떻게 해야할까요?
어떤 경우가 있을까요? 예를들어 로그인하지 않은 사용자의 경우 글쓰기 기능은 있지만 ip를 일부 숨겨서 보여주는 경우가 있습니다. 이 경우 ip를 전부 노출하는 것이 아니라 일부분만 보여줍니다. 예를들어...

ip 주소 변경 전 : 012.345.678.901

ip 주소변경 후 : 012.345.***.***


# 자바스크립트를 사용하여 ip 주소를 *** 표시로 감추어 보여주기
위와 같이 변경하기 위하여 정규표현식을 사용하려고 합니다. 정규표현식을 사용하지 않고 물론 다른 방법을 사용할 수도 있습니다. 아무래도 구둣점(.)을 기준으로 split() 함수를 사용하여 배열로 변경 후 자르는 원하는 배열값만 보여주는 방법이 있습니다. 하지만 가장 간단한 방법은 아래처럼 정규표현식을 사용하면 됩니다. 그럼 아래 코드를 봐주세요.

 
만약 클라이언트측에서 자바스크립트를 사용하여 ip 주소를 감추려면 어떻게 해야할까요?
어떤 경우가 있을까요? 예를들어 로그인하지 않은 사용자의 경우 글쓰기 기능은 있지만 ip를 일부 숨겨서 보여주는 경우가 있습니다. 이 경우 ip를 전부 노출하는 것이 아니라 일부분만 보여줍니다. 예를들어...

ip 주소 변경 전 : 012.345.678.901

ip 주소변경 후 : 012.345.***.***


# 자바스크립트를 사용하여 ip 주소를 *** 표시로 감추어 보여주기
위와 같이 변경하기 위하여 정규표현식을 사용하려고 합니다. 정규표현식을 사용하지 않고 물론 다른 방법을 사용할 수도 있습니다. 아무래도 구둣점(.)을 기준으로 split() 함수를 사용하여 배열로 변경 후 자르는 원하는 배열값만 보여주는 방법이 있습니다. 하지만 가장 간단한 방법은 아래처럼 정규표현식을 사용하면 됩니다. 그럼 아래 코드를 봐주세요.

ipAddr = '012.345.678.901';
ipAddr = replace(/.d{1,3}.d{1,3}$/, '.***.***', ipAddr);

console.log(ipAddr)

replace에서 정규표현식을 사용한 방법입니다. 해당하는 패턴을 찾은 후 *** 표시로 변경합니다. 여기서 맨 뒤에 $ 기호를 추가하였는데 이 기호는 맨 마지막 코드에만 적용하는 메타문자입니다. 이를 적용할 경우 결과는 어떻게 될까요? 출력결과는 아래와 같습니다.

012.345.***.***

이처럼 ip의 뒷자리 두 부분이 바꾸었습니다. 참고로 ip 주소를 변경하는 것은 서버단에서도 가능하며 ip를 *** 표시로 가린다는 것은 방문자에게 보여주어서는 안된다는 의미므로 알 수 없도록 서버단에서 처리하는 것이 더 좋은 방법일 수 있습니다.

 ​​​​​​​

code snippet widget 
만약 클라이언트측에서 자바스크립트를 사용하여 ip 주소를 감추려면 어떻게 해야할까요?
어떤 경우가 있을까요? 예를들어 로그인하지 않은 사용자의 경우 글쓰기 기능은 있지만 ip를 일부 숨겨서 보여주는 경우가 있습니다. 이 경우 ip를 전부 노출하는 것이 아니라 일부분만 보여줍니다. 예를들어...

ip 주소 변경 전 : 012.345.678.901

ip 주소변경 후 : 012.345.***.***


# 자바스크립트를 사용하여 ip 주소를 *** 표시로 감추어 보여주기
위와 같이 변경하기 위하여 정규표현식을 사용하려고 합니다. 정규표현식을 사용하지 않고 물론 다른 방법을 사용할 수도 있습니다. 아무래도 구둣점(.)을 기준으로 split() 함수를 사용하여 배열로 변경 후 자르는 원하는 배열값만 보여주는 방법이 있습니다. 하지만 가장 간단한 방법은 아래처럼 정규표현식을 사용하면 됩니다. 그럼 아래 코드를 봐주세요.

ipAddr = '012.345.678.901';
ipAddr = replace(/.d{1,3}.d{1,3}$/, '.***.***', ipAddr);

console.log(ipAddr)

replace에서 정규표현식을 사용한 방법입니다. 해당하는 패턴을 찾은 후 *** 표시로 변경합니다. 여기서 맨 뒤에 $ 기호를 추가하였는데 이 기호는 맨 마지막 코드에만 적용하는 메타문자입니다. 이를 적용할 경우 결과는 어떻게 될까요? 출력결과는 아래와 같습니다.

012.345.***.***

이처럼 ip의 뒷자리 두 부분이 바꾸었습니다. 참고로 ip 주소를 변경하는 것은 서버단에서도 가능하며 ip를 *** 표시로 가린다는 것은 방문자에게 보여주어서는 안된다는 의미므로 알 수 없도록 서버단에서 처리하는 것이 더 좋은 방법일 수 있습니다.

 ​​​​​​​

replace에서 정규표현식을 사용한 방법입니다. 해당하는 패턴을 찾은 후 *** 표시로 변경합니다. 여기서 맨 뒤에 $ 기호를 추가하였는데 이 기호는 맨 마지막 코드에만 적용하는 메타문자입니다. 이를 적용할 경우 결과는 어떻게 될까요? 출력결과는 아래와 같습니다.

012.345.***.***

이처럼 ip의 뒷자리 두 부분이 바꾸었습니다. 참고로 ip 주소를 변경하는 것은 서버단에서도 가능하며 ip를 *** 표시로 가린다는 것은 방문자에게 보여주어서는 안된다는 의미므로 알 수 없도록 서버단에서 처리하는 것이 더 좋은 방법일 수 있습니다.

 ​​​​​​​

Previous

파이썬 Flask와 Django 프레임워크 비교하기

Previous

php에서 ip 주소의 뒷자리를 *** 표시로 감추는 방법은?