如何从服务器验证/信任iOS或Android设备的位置



我正在编写服务器,以支持iOS和Android的基于位置的应用程序。该应用程序要求我们验证用户的身份和他们的位置。我知道如何做前者,但不知道后者。

是否可以验证客户端发送给我的纬度/经度实际上是设备对其当前位置的最佳估计?我担心一个恶意客户端伪造位置并在系统中玩游戏。

澄清:我想知道服务器如何通过某种验证过程信任发送位置。

我可以弄清楚如何从设备中获取用户的位置。例如,在Android平台上,我的应用程序会注册接收Android.location.Locations,取出lat/lon,并将其发送到服务器。

但是,我该如何让服务器相信我不是编造的呢?从服务器的角度来看,当给出lat/lon时,它为什么要相信用户实际上在那里(或者在给定准确性的情况下接近那里)?

也许有某种方法可以对数据进行签名?

foursquare和Facebook等应用程序的服务器如何验证他们收到的位置数据是否是伪造的?

编写自己的android或iOS客户端。由于我在android上工作,这是一个非常简单的代码。您需要编写一个在给定时间段内运行的服务。此服务将获取位置。通过这一点,你将确保你收到的只是你的代码。下一点是准确性。你可以在android中使用criteria类。您可以定义自己的提取位置条件。

在Android和iOS中编写服务,将当前lat/long周期发布到服务器。还编写代码,从服务器定期获取lat/long,并将其操作到Android或IOS地图。

享受。:))

据我所知,当使用Xcode和GPX文件来模拟位置时,我认为不可能在iOS上检测到位置欺骗。所有应用程序,甚至iOS地图的应用程序,都会相信你的位置是GPX文件中设置的,该文件用于通过Xcode模拟你的位置。

有关此方法的详细信息:http://www.neglectedpotential.com/2013/04/spoofing-location-services-in-ios/

最新更新