WordPress屏蔽某个地区或者某个IP段的用户无法访问网站

  • A+
所属分类:wp教程

有些时候特殊的需要,我们希望网站不被某个地区或者某个IP段的用户访问。我们可以在服务器上进行设置,但是这样稍微有些麻烦。最好的办法,也是最有效的办法我们可以直接通过PHP页面进行判断用户地区,然后进行屏蔽访问的办法。

第一、创建页面

header("Content-type: text/html; charset=utf-8");
$verification = '江苏省';//需要屏蔽省份的IP
$ip = $_SERVER['REMOTE_ADDR'];//获取访客IP
$antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);
$address = json_decode($result,true);
//判断访客是否属于江苏省,是否来自百度,是否来自谷歌
if($address['data']['region'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false){
sleep(86400);//设置一个999999秒。看他们有没有这么好耐心。
Header("HTTP/1.1 204 No Content");
exit;
}

将代码保存成ip.php页面,在省份处修改需要屏蔽的省份和地区。

第二、调用页面

<?php require('ip.php');?>

在WordPress首页或者头部全局模板中调用页面。

weinxin
我的微信
这是我的微信扫一扫
SJ

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: