ecshop外贸网站如何限制国内用户访问

更新时间:2016-07-11 点击量:1510






ecshop系统的强大功能让很多外贸用户也在使用,现在很多外贸用户根据自己行业要求不希望有国内的ip访问。优易软件为大家整理ecshop外贸网站如何限制国内用户访问设置操作如下:


1,修改ecshop/includes/init.php文件中增加对浏览器语言和ip的判断


if (is_spider())
{
/* 如果是蜘蛛的访问,那么默认为访客方式,并且不记录到日志中 */
if (!defined('INIT_NO_USERS'))
{
define('INIT_NO_USERS', true);
/* 整合UC后,如果是蜘蛛访问,初始化UC需要的常量 */
if($_CFG['integrate_code'] == 'ucenter')
{
$user = & init_users();
}
}
$_SESSION = array();
$_SESSION['user_id'] = 0;
$_SESSION['user_name'] = '';
$_SESSION['email'] = '';
$_SESSION['user_rank'] = 0;
$_SESSION['discount'] = 1.00;
}

下面增加



function ipCIDRCheck ($ip, $cidr)
{
$arr_cidr = explode('/', $cidr);
$net = $arr_cidr[0];
$mask = $arr_cidr[1];
$ip_net = ip2long ($net);
$ip_mask = ~((1 << (32 - $mask)) - 1);
$ip_ip = ip2long ($ip);
$ip_ip_net = $ip_ip & $ip_mask;
return ($ip_ip_net == $ip_net);
}
$cn_ip_str = file_get_contents(ROOT_PATH . 'data/cnip.txt');
$cn_ip_arr=explode("n",$cn_ip_str);
$ip = real_ip();
$is_cn_ip =false;
foreach($cn_ip_arr as $subnet)
{
if(ipCIDRCheck ($ip, $subnet))
{
$is_cn_ip= true;
break;
}
}
$browse_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
if(isset($_REQUEST['no_ip_imit']))
{
$no_ip_imit_time = gmtime() + 3600 * 24 * 30;
setcookie("no_ip_imit", trim($_REQUEST['no_ip_imit']), $no_ip_imit_time, $$cookie_path, $cookie_domain);
$_SESSION['no_ip_imit'] =$_REQUEST['no_ip_imit'];
}
if(! ( isset($_REQUEST['no_ip_imit']) || isset($_COOKIE['no_ip_imit']) || isset($_SESSION['no_ip_imit']) ) )
{
if(preg_match("/zh-c/i", $browse_lang) || $is_cn_ip )
{
header("http/1.1 403 Forbidden");
die('403 Forbidden');
}
}


如果管理员想在国内不受限制的访问,可以访问一次

http://你的域名/?no_ip_imit=1


24小时内就不会被屏蔽了



完成以上步骤之后记得清缓存,之后再试试是不是可以生效了


支付宝扫码打赏 微信打赏

如果文章对您有帮助,就打赏一个吧

在线客服

客户服务

热线电话:

13128985956 服务时间:

周一到周六:9:00-18:00

在线QQ客服

在线微信客服

关于我们 常见问题

支付方式 加盟合作

提交需求
优惠红包 购物车0 反馈留言 返回顶部