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