/**
* WordPress 显示评论者IP归属地PHP函数
* https://24bp.cn/
**/
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://24bp.cn/' );
} else {
echo '<!-- 运营商是'.$result['data']['isp'].',IP是'.$ip.',禁止外国IP访问!! -->';
}
}
add_action( 'wp_footer', 'aliuyun_locate' );
你只需将以上代码加入到主题中的function.php即可。刷新页面试试效果, 如果主题中出现那么恭喜你,封禁成功了!! 其中,wp_redirect( ‘https://24bp.cn/’ ); 可替换为wp_die(‘IP’, ‘IP!’, array(‘response’ => ‘503’)); 这样直接503,SEO也还行。如果不替换的话,国外IP访问全部跳转到 https://24bp.cn/这个链接自己修改即可。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。