Skip to main content

异地登录提醒

本系统基于账号最近登录的 10 次记录,提取账号登录的 IP 地址。 通过 IP 定位服务获取到现实中的地理位置,其中记录数较多的城市视为账号近期常驻城市。 将账号本次登录的城市与常驻城市进行比对;如有不同,则视为异地登录行为,进而触发短信/邮件通知。

本系统采用 IP2LOCATION 提供的免费数据服务,将 IP 地址转换为十进制格式,通过数据库反向查询 IP 地址,定位 IP 地址的地理位置。

后期可根据实际需求增加 IP 地址定位的经纬度信息进行距离测算等复杂逻辑。

几种常见的免费 IP 定位服务#

  • 淘宝 IP 地址库
URL :http://ip.taobao.com/service/getIpInfo.php?ip=:ip
返回格式:JSON
优点:返回信息包括:国家、省、市、运营商
缺点:不稳定;未发现官方文档
URL:http://ip-api.com/json/:ip
返回格式:XML/JSON/CSV
优点:多语言支持;支持 IPv4 和 IPv6 ;返回信息包括:国家、省、市、运营商、位置经纬度坐标、时区
缺点:有访问频率控制(150次/分钟)
URL :http://api.map.baidu.com/location/ip?ak=:ak&ip=:ip&coor=:coor
返回格式:JSON
优点:支持 IPv4 和 IPv6 ;返回信息包括:省、市、区、县、位置城市中心经纬度坐标
缺点:有访问频率控制(6000次/分、100000次/天);仅支持国内 IP 段
URL :https://restapi.amap.com/v3/ip?ip=:ip&output=:output&key=:key
返回格式:XML/JSON
优点:支持 IPv4 和 IPv6 ;返回信息包括:省、市、城市编码
缺点:有访问频率控制(100次/秒、100000次/天);仅支持国内 IP 段
URL :https://apis.map.qq.com/ws/location/v1/ip?ip=:ip&key=:key
返回格式:JSON/JSONP
优点:返回信息包括:国家、省、市、区、行政区划代码、定位点经纬度坐标
缺点:有访问频率控制(5次/秒、10000次/天);国外 IP 段数据有限
URL :http://freeapi.ipip.net/:ip
返回格式:JSON
优点:支持 IPv4 和 IPv6 ;返回信息包括:国家、省、市
缺点:有访问频率控制(1000次/天);无经纬度坐标信息
离线数据包,提供 BIN/CSV 两种格式
优点:稳定;支持多种编程语言;支持全球 IP 段;信息包括:国家、省、市、区、邮政编码、定位点经纬度坐标、定位点海拔高度、定位点所处时区
缺点:数据无法实时更新;仅支持英文