分类目录归档:LBS

浅谈如何利用ip数据来辅助风控和安全系统

原作者:陆文 岂安科技CTO
本文转自岂安科技(http://bigsec.com)微信公众号:bigsec
如有侵权,请告知第一时间删除!

互联网时代,ip一直在网络安全和风险控制领域占据着最为重要的地位,主要是出于以下因素:
1.所有的网络请求都会带有ip信息,因此其天然的成为访问者的身份标识。
2.由于ip的管理和分配比较严格,很难造假。虽然会有代理、肉鸡等掩藏踪迹的手法。但绝大部分情况下,ip数据的真伪是可以信得过的。
3.由于ip属于网络层,可以轻松的对其进行阻断。现有的各种网络安全、负载均衡的设备和软件,都是以ip为对象进行追踪和管理的。
因此,常见的攻击防范和风险控制都会利用IP来作为用户的身份标识,来进行分析和处理。 继续阅读

mysql实现计算两点(经纬度)间的距离

LBS应用中常常需要计算两点之间的距离,以实现查看某点附近的地点、人、事、物,虽然mysql支持空间查询,但对于一些规模较小的应用还是用简单的处理办法比较快捷,这个方法改自一个js脚本,原脚本是:

var EARTH_RADIUS = 6378137.0; //单位米
var PI = Math.PI;
function getRad(d){
return d*PI/180.0;
}
function getGreatCircleDistance(lat1,lng1,lat2,lng2){
var radLat1 = getRad(lat1);
var radLat2 = getRad(lat2);
var a = radLat1 - radLat2;
var b = getRad(lng1) - getRad(lng2);
var s = 2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s*EARTH_RADIUS;
s = Math.round(s*10000)/10000.0;
return s;
}
继续阅读

IP 库之手机基站数据篇(转)

*文章转自ipip.net,有删减*
后来2015年第三季度的某一天,发现我们基于已有的数据可以做基站数据的识别了,其实之前也有,只是没想到可以这么用。于是就有了这个基站 IP 数据库。
这里说的基站 IP 数据,和基站 ID 对应的地理位置数据是两码事,后面这个以后再安利吧。
先说一下概念,大家在不使用 WIFI 网络的时候,使用手机通过运营商提供的网络进行上网的时候,目前都是在用户端使用私有IP,然后对外做 NAT 转换,这样的情况就导致大家统一使用一些 IP 段进行访问网站或者 APP。一般我们称这些相对固定的 IP 段为基站 IP ,这个不一定是运营商的说法,无论是 GGSN 还是什么,但是我们这些关注这块的人都这么叫,算是约定俗成吧。 继续阅读

Mysql 使用Insert into select where not exists语句避免插入重复记录

往生产环境更新数据时,往往会有一些重复的记录存在,为了避免插入重复记录,我常常使用的语句是“insert into select where not exists”,一般是先把需要更新的数据导入tmp临时数据库,然后再插入线上数据库,这样可以最大程度避免影响业务系统的正常运转,并顺利使用以上语句。
这里举例的线上数据表是oming,临时数据表是oming_tmp(创建该表时使用语句“create table oming_tmp like oming;”)
字段有:id(自增),addr,lng,lat,time(update时自动更新时间)
1.多条记录导入:
insert into oming(addr,lng,lat) select addr,lng,lat from oming_tmp where not exists(select * from oming where oming.lng=oming_tmp.lng and oming.lat=oming_tmp.lat);
通过lng,lat字段验证是否重复。
2.单条记录导入:
insert into oming(addr,lng,lat) select ‘辽宁省沈阳市青年大街华润中心’,’123.441919′,’41.7809′ from oming_tmp where not exists(select * from oming where oming.lng=’123.441919′ and oming.lat=’41.7809′);

三类常见的坐标系GPS、火星坐标、百度坐标

常见的三类坐标系有:
1、GPS,即国际通用的WGS-84,代表就是全球应用最为广泛的谷歌地图、谷歌Earth,但是谷歌地图在国内的应用依然遵循了火星坐标系,谷歌Earth则使用WGS-84,注意区分。
2、火星坐标系,这是一个传奇的名字,官方叫“GCJ-02”,在国内使用的多数地图都使用了这个坐标系,最典型的就是高德导航、高德地图,因为苹果设备内置的国内地图使用的也是高德地图,所以也对应这个坐标系。
3、百度坐标系,标准是BD-09,首先对WGS-84标准坐标使用火星坐标进行了首次加密,然后使用百度自己的标准二次加密所得,应用中如果使用百度地图api建议使用百度自家的纠偏接口,准确度较高。

php实现大地主题解算(正算)亦即根据已知点经纬度方向角距离求另一点经纬度

近期在做一个地图小应用用到根据已知点经纬度方向角距离求另一点经纬度,中间用到了百度地图api,却没找到实现这个的方法,百度一下知道这叫大地主题解算的正算,也找到一个vb的代码,由于我用的是php,遂将其改为php版本,经过百度地图测试发现精度还是很高的,1km的距离误差只有几米,附上代码: 继续阅读