ecshop限制国内用户访问的方法【ecshop做的外贸网站如何限制国内用户访问】
日期:2017-06-06
ecshop系统的强大使得有很多外贸用户也使用他了,不过现在很多外贸用户希望可以限制国内ip访问。ecshop插件网,整理了一下浏览器语言和ip的判断修改教程如下:
1、打开/includes/init.php文件,搜索如下代码
http://你的域名/?no_ip_imit=1
1、打开/includes/init.php文件,搜索如下代码
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'); } }如果是管理员想在国内不受限制的访问,可以访问一次,24小时内就不会被屏蔽了
http://你的域名/?no_ip_imit=1
本文原创地址:https://www.ecshopok.com/article-364.html
版权所有 © 转载时必须以链接形式注明出处!
觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。
下一篇:ecshop评价中评率好评率差评率【仿京东仿淘宝中差好评】 上一篇:Ecshop实现PAYPAL支付传送商品订单号和商品名称方法
暂无评论,来发表一个吧