Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 测试IP是否在澳大利亚_Php_Ip Address - Fatal编程技术网

Php 测试IP是否在澳大利亚

Php 测试IP是否在澳大利亚,php,ip-address,Php,Ip Address,我需要做一个快速的服务器端测试来检查IP地址是在澳大利亚境内还是境外。我不想查询远程服务器,也不想在数据库中维护全局IP地址分配表 在过去,我已经能够得到国家的IP分配范围从,但该网址似乎不再有效。如果再也不可能做到这一点,我会感到惊讶。我非常感谢任何能够为我指出正确位置以获取此信息的人您可以在此网站上找到各个国家的IP分配范围: 但此网站可能永远无效,因此请尝试重新考虑使用本地/远程数据库。有一个可下载的国家/地区地址数据库(csv格式)。他们还提供了几个程序和库来将数据库集成到您的应用程序

我需要做一个快速的服务器端测试来检查IP地址是在澳大利亚境内还是境外。我不想查询远程服务器,也不想在数据库中维护全局IP地址分配表


在过去,我已经能够得到国家的IP分配范围从,但该网址似乎不再有效。如果再也不可能做到这一点,我会感到惊讶。我非常感谢任何能够为我指出正确位置以获取此信息的人

您可以在此网站上找到各个国家的IP分配范围:


但此网站可能永远无效,因此请尝试重新考虑使用本地/远程数据库。

有一个可下载的国家/地区地址数据库(csv格式)。他们还提供了几个程序和库来将数据库集成到您的应用程序中

但是,不要忘记这些数据是动态的,您必须定期更新数据库:

如果您在应用程序中使用我们的IP到国家/地区数据库,您应不时获得更新的副本。根据你的申请,可能一个月一次就可以了。在繁忙的日子里,我们在一天内从单个注册表中观察到多达50行的更改。有些日子,情况要少得多


如果您无法实现自己的ip地理位置,您可以使用:


我找到了一份可下载的国别清单。正如@Imane Fateh提到的,依赖这些资源的风险在于,它们终有一天会消失。这就是为什么我想从apic.net中找到一个替代品,我在最初的问题中提到了这个替代品(考虑到它也已经消失了,所以它不是保险:-()

你可以试着理解这个问题,或者在你变得讨厌之前要求澄清。我写过我不想维护一个全球IP分配表——这意味着我只想为澳大利亚维护一个。感谢关于行更改的提示——我最终使用了一个特定于AU的下载表,见下文,但我不是sure我应该多久更新一次。当我住在美国时,点击它,它说我在德国。这是因为他提供的链接包含一个在德国的IP地址!对于任何遇到此线程的人,这里有一个有趣的问题。PHP ip2long函数在32位操作系统和64位操作系统上返回不同的结果。我有一个64位LAMP但我的大部分开发都是在32位WAMP上进行的。在32位WAMP机器上使用ip2long转换上面链接的数据是不可行的。所以我在我的服务器上进行了转换,保存了结果,以便通过LOAD data Inflie将其加载到我的本地DB表中。下面是gotcha-32位MySQL可以处理bigint,但在LE将em all转换为有符号的32位整数。您需要插入每个IP范围对!