如何在 PHP 中按国家/地区记录 IP?

Posted

技术标签:

【中文标题】如何在 PHP 中按国家/地区记录 IP?【英文标题】:how to log IP by country in PHP? 【发布时间】:2012-02-02 10:57:17 【问题描述】:

如何确定IP来自哪个国家?比如 当访问者来到一个站点时,我可以使用

记录 IP
$_SERVER['REMOTE_ADDR'] , 

但这都是数字的组合, 如果假设我只想记录来自美国、澳大利亚、英国或我特别想要的任何其他国家的 IP 地址, 如何“不”使用托管记录器的任何数据库表来做到这一点?

【问题讨论】:

见***.com/questions/2468199/… 尝试谷歌搜索ip country,你会得到类似maxmind.com/app/geoip_country的结果 您“必须”使用某种数据库根据国家/地区列表查找 IP 地址。 你必须使用像ipinfodb.com这样的查找API。 IP 地址的地理位置没有数学顺序,唯一的解决方案是使用查找表,无论是您托管自己的还是其他人的。 【参考方案1】:

http://www.whoisxmlapi.com/ 是一个不错的网络服务。

您可以获取 XML 或 JSON 格式的数据,并使用标头的国家/地区属性。

【讨论】:

【参考方案2】:

您可以使用Webnet77 提供的 IP 到国家/地区的映射。该数据库包含大约 100000 个不同 IPv4 块的条目,可以 CSV 格式下载。您可以稍后将该 CSV 包含在您的记录器脚本中以查找国家/地区。

【讨论】:

【参考方案3】:

考虑使用 geoip 定位服务,例如Maxmind

【讨论】:

以上是关于如何在 PHP 中按国家/地区记录 IP?的主要内容,如果未能解决你的问题,请参考以下文章

在PHP中按IP地址获取国家

我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序

如何在R中按国家和年份查找最大值? [复制]

如何使用php获取域的托管IP和国家名称

检查IP国家/地区并显示完整的国家名称

如何使用geoplugin在php中获取国家名称?