专栏首页Web技术研发通过GeoIP2分析访问者IP地理位置

通过GeoIP2分析访问者IP地理位置

通过GeoIP2分析访问者IP获取地理位置信息

MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数字版权管理。目前使用 GeoIP 更多是配合Nginx或Apache服务器进行日志分析获取网站访问量地域分布状况

官方库

  • 数据库下载:https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
  • 接口 GeoIP2 PHP API

安装

1composer require geoip2/geoip2

如何使用

 1$ip = RedisLock::getRemoteIp();
 2$reader = new Reader(Env::get('ROOT_PATH') . 'public/GeoLite2-City.mmdb',$locales = ['zh-CN']);
 3$record = $reader->city($ip);
 4print("<h1>当前IP地址:".$ip . "</h1>");
 5echo "<br/>";
 6print("<h1>所属城市:".$record->country->name .'、'.$record->mostSpecificSubdivision->name.'、'.$record->city->name."</h1>");
 7echo "<br/>";
 8print("<h1>经度纬度:".$record->location->latitude . '-'.$record->location->longitude."</h1>"); // 44.9733
 9echo "<br/>";
10var_dump($record->location->accuracyRadius); // 100
11var_dump($record->location->timeZone); // 'Asia/Shanghai'
12
13echo "<br/>";
14var_dump($record->country);
15var_dump($record->mostSpecificSubdivision);
16var_dump($record->city);

输出结果

当前IP地址:122.233.225.151 所属城市:中国、浙江省、杭州 纬度经度:30.2936-120.1614

本文分享自微信公众号 - Tinywan的杂货摊(TinywanIOT),作者:Tinywan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TP5系列 | ThinkPHP5自定义分页类

    Tinywan
  • TP5系列 | 数据库迁移工具migration

    migration用谷歌翻译是移民的意思,在PHP中我们将它理解为迁移,将Migration用在数据库上就理解为数据库迁移咯。在migration开发之...

    Tinywan
  • N系列 | 基于元模型的访问控制策略描述语言

    为了保护云资源的安全,防止数据泄露和非授权访问,必须对云平台的资源访问实施访问控制.然而,目前主流云平台通常采用自己的安全策略语言和访问控制机制。

    Tinywan
  • 读取 MIT-BIH 心律数据

    这个包是专门用来读取 PhysioNet 这个网站的数据集的内容的。具体内容可以参考文档。

    caoqi95
  • 如何使用UI Configuration将WebClient UI的隐藏字段放出来

    In Service order detail page some fields are by default hidden in standard UI co...

    Jerry Wang
  • CART算法学习及代码实现

    1.算法介绍 分类回归树算法:CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样...

    机器学习AI算法工程
  • 数据库

    1.SQL执行的顺序 ? 2.NULL “空值” 和”NULL”的概念: 1:空值(‘’)是不占用空间的,判断空字符用 = ‘’ 或者 <> ‘’ 来进行处...

    Zephery
  • 非 SDK 接口常见问题 | Android 开发者 FAQ Vol.13

    Android 开发者
  • 奇点后人工智能会迎来大爆发? François Chollet发文阐释:你们想多了,不会的

    AI 科技评论按:普通大众对“人工智能的智力超越人类,最终统治世界、灭绝人类”这件事充满了担忧,而实际上许多已经在从事人工智能相关工作的研究者也免不了有类似的担...

    AI科技评论
  • 华为开发者大会“太素”总结我的吐槽和亮点

    上周,T哥参加了华为首届开发者大会,吸引业界关注的目光也是每次华为大会的一大特色,据主办方统计到场参会者将近三千人,虽然这个会议相比华为HCC比有些相形见绌,但...

    人称T客

扫码关注云+社区

领取腾讯云代金券