通过GeoLocation API破解或向网站提供错误信息有多容易?
我需要让用户将他们的位置发布到我的服务器,但我需要确保数据不会被欺骗。不需要Pin-Point精度,但我需要知道用户至少在他们声称的地方附近。
只要我保护我的服务不被任意调用(使用用户提供的参数),我是否可以信任通过原生应用访问的现代智能手机中GPS系统给出的纬度/经度?通过HTML5怎么样?
我的问题基本上是内置的操作系统API是否安全(假设非根电话)从API返回的数据是否有效?如果没有,有什么方法可以验证数据至少是否合理?
答案 0 :(得分:6)
你期待恶意吗?
与依赖客户的任何技术一样,您必须信任客户。使用rooted /越狱手机,理论上可以在手机上操作数据。如果禁用位置服务,您可能会获得占位符数据(尽管您应该获得地理定位已禁用的指示)。据我所知,没有可靠的方法来检测iPhone是否已经针对sn app store app越狱,更不用说网站了。
除此之外,任何系统都可以进行游戏,但是对一只股票提供虚假的地理数据,非越狱的iPhone不会是微不足道的;适用于Android的可能。
您还可以使用基于IP的外部地理定位服务进行健全性检查(例如,可能会被代理服务器欺骗)。