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

时间:2012-02-18 04:03:36

标签: android ios security geolocation

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

是否可以验证客户端发送给我的lat / lon实际上是设备对其当前位置的最佳估计?我担心恶意客户端欺骗一个位置并游戏系统。

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

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

但是我如何说服服务器我不只是弥补了?从服务器的角度来看,当给出一个纬度/经度时,为什么它应该相信用户实际上在那里(或者在给定精度的情况下接近那里)?

也许有一些签署数据的方式?

foursquare和Facebook等应用程序的服务器如何验证他们所提供的位置数据是否未被伪造?

3 个答案:

答案 0 :(得分:1)

编写自己的Android或iOS客户端。当我在android上工作时,它是非常简单的代码。您需要编写一个在给定时间段内运行的服务。此服务将获取该位置。通过这个,您将确保您接收的纬度/长度仅由您的代码提供。现在下一点是准确性。你可以在android中使用标准类。您可以定义自己的获取位置的标准。

答案 1 :(得分:0)

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

享受。 :))

答案 2 :(得分:0)

据我所知,我不相信在使用Xcode和GPX文件模拟位置时,可以在iOS上检测位置欺骗。所有应用程序,甚至iOS Map的应用程序都会相信您的位置是用于通过Xcode模拟您的位置的GPX文件中设置的位置。

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