网站在特定国家的访问受限制

问题描述:

我有一个电子商务网站,在Codeigniter 3.0.6中开发。该网站有5-6个产品类别。我想控制诸如类别和产品的机会:网站在特定国家的访问受限制

  • 类别1:显示仅在美国
  • 第2类:在印度

谁能告诉我如何通过管理面板来控制呢?

+0

使用访问者的IP地址查找国家,然后根据产品查找逻辑。从IP提取数据,就像这个网站告诉你关于IP的详细信息https://www.iplocation.net/ – LogicBlower

要做到这一点,你需要有一个地理定位库来将访问者的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-地址()字段,然后它会通过价值ip2location_lib检索2位的国家代码获取IP地址。最后,它将检查国家代码重定向。例如,如果访问者来自美国,则重定向到观看页面。

+0

它可以工作,但有时IP地址无法获取位置。无论如何谢谢你的分享。 –

+0

我的github里面的样本bin不是最新的。您需要从https://lite.ip2location.com下载最新版本,并将其更新到/ libraries/ip2location /文件夹中。 –