有些时候特殊的需要,我们希望网站不被某个地区或者某个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首页或者头部全局模板中调用页面。