2017-08-02 16 views
-1

私はCodeigniter 3.0.6で開発された電子商取引のウェブサイトを持っています。このサイトには5〜6の製品カテゴリがあります。唯一USA 特定の国のウェブサイトへのアクセスが制限されています

  • カテゴリー2に示します:インドで
  • は、誰がどのように管理パネルを介してこれを制御するには教えてもらえ

    • カテゴリー1:私のようなカテゴリと製品のアクセスを制御したいですか?

    +0

    訪問国のIPアドレスを使用して国を検索し、次に製品ごとのロジックを使用します。このサイトのようにIPのデータを抽出します.IPの詳細については、https://www.iplocation.net/ – LogicBlower

    答えて

    0

    これを行うには、ビジターのIPアドレスを国コードに変換するジオロケーションライブラリが必要です。ジオロケーションライブラリhttps://github.com/ip2location/codeigniter-ip2locationをダウンロードしてセットアップしてから、インデックスにコードを追加してください(またはリダイレクトを行う機能)。

    //get the ip address 
        $ip = $this->input->ip_address(); 
    
        //get country code by IP address 
        $this->load->library('ip2location_lib'); 
        $countryCode = $this->ip2location_lib->getCountryCode($ip); 
    
        //perform redirection based on country 
        $this->load->helper('url'); 
        if ($countryCode == 'US'){ 
         redirect('/watches'); 
        } 
        else{ 
         redirect('/gadgets'); 
        } 
    

    上記のコードはIP_ADDRESS()フィールドを使用してIPアドレスを取得します、それは2桁の国コードを取得するためにip2location_libする値を渡します。最後に、リダイレクトの国コードをチェックします。たとえば、訪問者が米国から来た場合は、ページを監視するようにリダイレクトします。

    +0

    で動作しますが、IPアドレスが取得できないことがあります。とにかく共有してくれてありがとう。 –

    +0

    私のgithub内のサンプルbinは最新ではありませんでした。 https://lite.ip2location.comから最新のものをダウンロードし、これを/ libraries/ip2location /フォルダに更新する必要があります。 –

    関連する問題