欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

php禁止国外访问,wordpress 禁止国外ip访问

发布时间:2025/3/21 php 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php禁止国外访问,wordpress 禁止国外ip访问 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一般做国内站,国外ip都是来攻击或撞库的,没有国外用户的需求,就可以在进入网站时进行ip检查,如果是国外ip就禁止访问

阿里提供了一个查询ip归属的接口,可以用来获取当前ip的真实地址,但对访问速度会有一定影响

以下内容放到主题的function.php中

/**

* WordPress 显示评论者IP归属地PHP函数

* https://www.aliuyun.cn/wordpress/wordpress-course/management/jinzhi-waiguo-ip.html

**/

function aliuyun_getRealIp()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }

for ($i = 0; $i < count($ips); $i++) {

if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {

$ip = $ips[$i];

break;

}

}

}

return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

function aliuyun_locate($ip) {

$ip=aliuyun_getRealIp();

if(empty($ip)) $ip = get_comment_author_IP();

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

$result = json_decode($file_contents,true);

if ($result['data']['country'] != '中国') {

wp_redirect( 'https://www.aliuyun.cn/aliuyun-news/womenshizhongguoren.html' );

} else {

echo '';

}

}

add_action( 'wp_footer', 'aliuyun_locate' );

最后if判断那里直接使用的是阿里的页面,也可以改成自定义的

总结

以上是生活随笔为你收集整理的php禁止国外访问,wordpress 禁止国外ip访问的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。