如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章