想要使用 WordPress 屏蔽某些区域的 IP 访问除了使用 WordPress 中的相关插件外,您还可以使用本篇文章由大眼仔旭收集的以下代码进行指定区域进行屏蔽。在 WordPress 中可以灵活使用的方法有非常多,而我们这次不需要安装第三方插件即可实现某些区域的 IP 进行访问。本次屏蔽访问调用了淘宝的 IP 服务来判断用户位置,从而实现某些区域用户无法访问指定的网站。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 /**
* test.php(屏蔽区域 IP 无法访问)
*/
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;
}
创建 shielded.php 文件,复制以上代码贴保存。然后将 shielded.php 放到网站的根目录,切记,是根目录,而不是主题目录!
最后,打开你们主题文件夹的 header.php 文件,在复制以下代码到 head 内保存。
1 < ?php require('shielded.php');? >
通过以上方法就可以达到对指定区域的 IP 进行限制访问。
除了这一种方式外,您也可以使用 WP Ban、IP Blacklist Cloud 等等插件对指定的 IP 进行限制访问。
以上代码由大眼仔在网络收集整理,暂时不知道作者是谁,在这里感谢原作者。
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/214184.html