教程前言:
实现原理,利用 ip 地址查询识别国家地区+浏览器语言判断。
以爱奇艺 ip 查询接口为例,禁止国内 ip 访问。ip 地址中国或者浏览器语言为 zh 时:
代码如下:
$ipaddress = $_SERVER['REMOTE_ADDR'] == '::1' ? '127.0.0.1' : $_SERVER['REMOTE_ADDR'];
$lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
$login_addr_arra = json_decode(file_get_contents('http://ip.geo.iqiyi.com/cityjson?format=json&ip='.$ipaddress));
$country = $login_addr_arra->data->country;
if(!empty($country) && $country == '中国') || strstr($lang, 'zh')
{
header("ip 地址为中国");
echo 'ip 地址为中国';
exit;
}
wordpress 程序只需要添加到根目录下的 index.php 文件第二行即可。
禁止国外访问,ip 地址和浏览器语言两个条件同时满足:
$ipaddress = $_SERVER['REMOTE_ADDR'] == '::1' ? '127.0.0.1' : $_SERVER['REMOTE_ADDR'];
$lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
$login_addr_arra = json_decode(file_get_contents('http://ip.geo.iqiyi.com/cityjson?format=json&ip='.$ipaddress));
$country = $login_addr_arra->data->country;
if($country !== '中国') && (!strstr($lang, 'zh'))
{
header("ip 地址为国外");
echo 'ip 地址为国外';
exit;
}else{
echo '中国';
}
转载请注明:汇站网 » 用 php 代码限制国外 IP 只允许国内地址访问网站