IP를 차단하는 자바스크립트 코드입니다. html파일의 body 아래쪽에 넣으면 됩니다.
IP차단 작동 원리
- blockIP = [ ]배열 안에 차단할 ip들을 문자열 형태로 넣습니다.
- 누군가 내 사이트로 들어오겠죠.
- 그 사람의 IP를 api.ipify.org라는 곳을 통해 알아냅니다. api.ipify.org는 접속자의 ip를 text나 json형태로 반환해주는 사이트입니다.
- 이제 나의 차단 ip들과 접속자의 ip를 비교합니다.
- 일치하면 naver 홈페이지로 보내버립니다.
(참고 사항) 이 코드는 접속자의 브라우저에 adBlock PLUS가 설치되어 있으면 작동하지 않습니다. adBlock이 블로킹하는 로직과 충돌하는 부분이 있어서 aJax로 api.ipify.org를 호출하는 부분에서 작동하지 않네요.
<script> (function () { function resp() { const blockIP = ['111.111.111.111','222.222.222.222'] const json = JSON.parse(this.responseText); for (let i = 0; i < blockIP.length; i++){ if (blockIP[i] == json.ip){ console.log(json.ip) window.location.replace("https://naver.com"); } } } const request = new XMLHttpRequest(); request.addEventListener("load",resp); request.open("GET","https://api.ipify.org?format=json"); request.send(); }()); </script>