会员登录 还没有账号? 立即注册

验证码:

15年专业外贸企业建站 / Google排名首页不是梦!
关注ZZSHE, 享受更多专属优惠吧!

外贸网站建设

外贸英文建站:如何禁止国内同行访问你的英文网站?

一、利用 IP 地址进行判断并屏蔽
假设你要屏蔽国内同行的 IP 访问(同样地,你自己也只能代理方式访问了)。首先你必须有个判断 GEO IP 的模块。在 VPS 上你可以在 nginx 上安装 geo ip 模块,但是安装和使用上还是麻烦了点。并且,如果你用的是虚拟主机,那就无法自己随心所欲安装扩展模块了。

所以,我们可以借用第三方 IP库的 API 接口。比如淘宝的 IP 库,IP138 的 IP 库等等,判断都非常准确。具体代码:
<?php
$verification1 = '中国'; //需要屏蔽国家名称1
$verification2 = '摩洛哥'; //需要屏蔽的国家名称2。这里可以类似的方式,定义多个国家。
function get_visitor_ip() {
         $ip = $_SERVER['REMOTE_ADDR'];
         if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
         }
         elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
         $ip = $_SERVER['HTTP_CLIENT_IP'];
         }
         return $ip;
         }
$ip = get_visitor_ip();  //获取访客IP
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);  //IP数据库来自淘宝。你也可以换成 IP138 的。建议默认。
$address = json_decode($result,true);
//判断访客的IP是否来自国家1或国家2
if($address['data']['country'] == $verification1 || $address['data']['country'] == $verification2){ //如果只需要屏蔽国家名称1,这里无需修改,把开头的国家名称2'摩洛哥'改成某个不存在的名称即可,如'冥王星'。
header("location: https://www.baidu.com");
exit();
}
?>

把这部分代码粘贴到你的主题文件夹下面 Header.php 文件里标签的上方。保存。

另外,为了防止国外调用 ip.taobao.com  的判断国家地区的 getIpInfo.php 文件速度慢,最好在上面代码下面再加一行 dns 预解析代码,加快载入文件。

<link rel="dns-prefetch" href="//ip.taobao.com">

(题外话:如果你还是担心淘宝库慢,需要国外的 ip 库 API,也可以去国外 ip 库提供商注册获取 API Key,然后再修改上面的相应代码来更换。建议有技术背景的人可以弄,新手绕过)

留下脚印

在线客服

定制开发 购买主题 售前咨询 售后服务 微信
微信客服
小鱼儿官方微信

扫描二维码关注微信客服

返回顶部