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

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

本文出处:老蒋部落 » WordPress屏蔽某个地区或者IP段的用户无法访问网站 | 欢迎分享( 公众号:QQ69377078 )