IP주소 가져오기 특정 아이피 접속 차단 자바스크립트

티스토리처럼 아이피 주소를 사용자가 직접 수집할 수 없는 경우 사용할 수 있는 유일한 방법일 것 같습니다. 접속자의 IP 주소는 ipify API를 통해 받아 옵니다.

특정 아이피 접속 차단

<script>
(function () {
  function resp() {
  var arrUserIP = ['아이피'];  // 차단할 아이피 입력
  var json = JSON.parse(this.responseText);
  for (var i = 0; i < arrUserIP.length; i++) {
    if (arrUserIP[i] == json.ip) {
      // 차단할 아이피 접속 시 보여줄 메시지(특정 주소로만 보내려면 아래 줄 삭제)
      alert("당신은 접속이 차단되었습니다.")
      // 다른 곳으로 보낼 URL주소 입력
      window.location.replace("http://error.com");
    }
  }
}

var request = new XMLHttpRequest();
request.addEventListener("load", resp);
request.open("GET", 'https://api.ipify.org?format=json');
request.send();
}());
</script>

ipify에 각 언어별 아이피 주소를 체크하는 소스가 있으니 참고하시길 바랍니다.

아이피 주소 받기

아래는 자바스크립트로 아이피 주소만 받아 오기 예제 코드입니다.

출처 : https://www.ipify.org

Javascript

<script type="application/javascript">
  function getIP(json) {
    document.write("My public IP address is: ", json.ip);
  }
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

jQuery

<script type="application/javascript">
  $(function() {
    $.getJSON("https://api.ipify.org?format=jsonp&callback=?",
      function(json) {
        document.write("My public IP address is: ", json.ip);
      }
    );
  });
</script>

Python

역시 파이썬은 뭐든 간단하고 간결하네요!

from requests import get
ip = get('https://api.ipify.org').text
print('My public IP address is: {}'.format(ip))

 

 

무효 트래픽으로 의심되는 특정 아이피 차단하기

블로그나 웹사이트를 운영하다 보면 특정 아이피를 차단해야 하는 경우가 있습니다. 보통의 블로그 CMS나 웹사이트에는 이러한 기능을 가지고 있거나 플러그인 등을 활용해 아이피를 차단할 수

wonderbout.tistory.com

반응형