jQuery
[jQuery] 접속 국가 ip check
cpu21
2018. 12. 23. 17:01
접속 국가 ip check
lang.js
var ip = ""; var hostname = ""; var city = ""; var region = ""; var country = ""; var loc = ""; var org = ""; $.getJSON("http://ipinfo.io", function(data) { ip = data.ip // 접속자 ip hostname = data.hostname // 접속자 hostname city = data.city // 접속자 도시 region = data.region // 접속자 지역 country = data.country // 접속자 국가 loc = data.loc // 접속 위도, 경도 org = data.org // ISP (인터넷 서비스 제공사업자) if(country == "KR"){ console.log(data); $("#kr").show(); }else if(country == "US"){ console.log(data); $("#us").show(); }else if(country == "CN"){ console.log(data); $("#cn").show(); }else if(country == "JP"){ console.log(data); $("#jp").show(); } });
lang.html
- 9번 라인 : jQuery를 이용해 JSON 형식으로 데이터를 받아옴 (ipinfo.io 라는 사이트 이용)
- 그 중에서 ip, hostname, city, region, country, loc, org 에 대한 정보를 따로따로 불러낼 수 있음
- 가장 중요한 것은 접속자 국가를 받아오는 'country' 인데 data.country로 데이터를 받아오면 해당 국가 코드(ex. 대한민국 : KR, 미국 : US 등)가 나옴
※ 국가 코드 명부 사이트 - 한국인터넷정보센터(KRNIC | 국가별 IP주소대역 현황), https://ko.ipshu.com/country_code_list
- 국가 코드를 변수에 넣고 if로 분기시킨 후 처리할 내용을 코딩
- console.log를 통해 데이터 확인. 즉 접속자에 대한 ip 정보를 JSON 형식으로 모두 불러옴
- 이를 통해 ip로 접속국가별 해당 언어 페이지를 보여줄 뿐만아니라, 특정 국가의 접속 차단 가능
- https://ipinfo.io/developers 에서 보다 자세한 내용 확인 가능
Application : 접속국가별 사이트/페이지 이동
lang.js
var ip = ""; var hostname = ""; var city = ""; var region = ""; var country = ""; var loc = ""; var org = ""; $.getJSON("http://ipinfo.io", function(data) { ip = data.ip // 접속자 ip hostname = data.hostname // 접속자 hostname city = data.city // 접속자 도시 region = data.region // 접속자 지역 country = data.country // 접속자 국가 loc = data.loc // 접속 위도, 경도 org = data.org // ISP (인터넷 서비스 제공사업자) if(country != "KR"){ console.log(data); console.log("해외 접속"); window.location.href = "http://en.abc.co.kr/"; }else{ console.log(data); } });
lang.html
※ 출처 : https://goodlife-coding.tistory.com/entry/jQueryjQuery를-이용한-접속-국가-ip-체크 (AndrewNam / 2017.09.07)
국가별 IP 주소에 따라 도메인을 리디렉션하는 방법
- GeoIP Extension와 .htaccess 파일 수정을 이용