jQuery2018. 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

    
    



ip_lang.rar

※ 출처 : https://goodlife-coding.tistory.com/entry/jQueryjQuery를-이용한-접속-국가-ip-체크 (AndrewNam / 2017.09.07)




국가별 IP 주소에 따라 도메인을 리디렉션하는 방법

- GeoIP Extension와 .htaccess 파일 수정을 이용

- URL : http://code.i-harness.com/ko-kr/q/961f08

'jQuery' 카테고리의 다른 글

[jQuery] lang() Selector  (0) 2019.04.27
[javascript] 동적으로 웹페이지 타이틀 변경  (0) 2019.01.26
[jQuery] Page Redirection  (0) 2018.12.23
[jQuery] Slide Left and Right Toggle Effect - Example  (0) 2018.12.15
[jQuery] image preload  (0) 2018.12.03
Posted by cpu21