我有国家的IP范围.我正在检查此范围内的用户IP地址,如果为真,那么他能够看到该网站,否则他不会.我使用以下代码,
$ip = $_SERVER['REMOTE_ADDR'];
if(ip2long($ip) >= $ipstart && ip2long($ip) <= $ipend){
return true;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果有人来自不同的国家,假设ABC和他的笔记本电脑/笔记本到另一个国家,假设XYZ那么上面的代码会起作用吗?在同一台笔记本电脑上
ipv4和ipv6的上述场景怎么可能?
[编辑]
$_SERVER['REMOTE_ADDR']获取哪个IP地址,它将是机器IP还是连接IP,这样我们才能知道他现在在这个国家?
谢谢
使用此API http://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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16591 次 |
| 最近记录: |