我有该国的 IP 范围。我正在检查此范围内的用户 IP 地址,如果为真,那么他就能够看到该网站,否则他就看不到。
我使用以下代码,
$ip = $_SERVER['REMOTE_ADDR'];
if(ip2long($ip) >= $ipstart && ip2long($ip) <= $ipend){
return true;
}
我的问题是,如果有人来自不同的国家,假设 ABC 带着他的笔记本电脑/笔记本到另一个国家,假设 XYZ,那么上面的代码可以工作吗?在同一台笔记本电脑上。
上述场景对于ipv4和ipv6来说如何可能呢?
[EDIT]
哪个IP地址$_SERVER['REMOTE_ADDR']
fetch,会是机器IP还是连接IP,这样我们就可以知道他现在在这个国家吗?
Thanks
使用这个APIhttp://ipinfo.io
function ip_details($IPaddress)
{
$json = file_get_contents("http://ipinfo.io/{$IPaddress}");
$details = json_decode($json);
return $details;
}
$IPaddress = $_SERVER['REMOTE_ADDR'];
$details = ip_details("$IPaddress");
//echo $details->city; #Tamilnadu
//echo $details->country;
//echo $details->org;
//echo $details->hostname;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)