php - 如何在 PHP 中使用 IP 地址查找国家/地区?

标签 php ip

<分区>

我有国家/地区的 IP 范围。我正在检查此范围内的用户 IP 地址,如果为真,则他可以看到该站点,否则他不会。 我使用了以下代码,

$ip = $_SERVER['REMOTE_ADDR'];
   if(ip2long($ip) >= $ipstart && ip2long($ip) <= $ipend){
        return true;
    } 

我的问题是,如果有人来自不同的国家,假设 ABC 带着他的笔记本电脑到另一个国家,假设 XYZ,那么上面的代码能工作吗?在同一台笔记本电脑上。

对于 ipv4 和 ipv6 的上述场景如何可能?

[编辑]

获取哪个IP地址$_SERVER['REMOTE_ADDR'],是机器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; 

关于php - 如何在 PHP 中使用 IP 地址查找国家/地区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878058/

相关文章:

java - Java中的数据包封装

batch-file - 使用批处理文件将本地 IP 地址写入文本文件

java - 从给定的网络掩码计算 CIDR - Java

networking - 为什么我看到源和目标不是我的 IP 地址的数据包

php - 从 PHP 启动守护进程

php - 如何在 php 中接收 xml 请求并发送响应 xml?

php - 这对一个安全站点来说足够了吗? (4个小功能)

php - 如何处理条件为 'IN' 的 PHP API POST select 语句?

javascript - 为什么我的MYSQL UPDATE语句不会更新?

java - 为什么 www.twitter.com 有时使用 InetAddress/getHostAddress() 返回不同的 IP 地址?