2012-02-18 22 views
4

我正在编写服务器以支持iOS和Android的基于位置的应用程序。该应用程序要求我们验证用户的身份及其位置。我知道如何去做前者,但不知道后者。如何从服务器验证/信任iOS或Android设备的位置?

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

澄清:我想知道如何一台服务器可以信任,通过某种验证过程中,位置被发送。

我可以弄清楚如何从设备获取用户的位置。例如,在Android平台上,我的应用程序将注册接收android.location.Location s,拉出经纬度并将其发送到服务器。

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

也许有一些签名数据的方法?

foursquare和Facebook等应用程序的服务器如何验证它们提供的位置数据没有被伪造?

回答

1

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

+0

谢谢。你知道服务器如何验证它所接收的位置数据实际上是真的吗?请参阅上面的说明。 – jared 2012-02-18 07:33:00

+0

是它的真品。你必须将纬度/长度存储在特定的xml/Json文件中。该文件将通过设备发布的lat/long定期更新。并且该数据应该由用户提取,然后可以看到更新的纬度/经度。请享用。 :) – 2012-02-18 07:39:12

0

在Android和iOS中编写将当前纬度/经度周期发布到服务器的服务。 并且编写从服务器获取纬度/经度周期的代码并将其操作到Android或IOS映射。

享受。 :))

+0

谢谢。你知道服务器如何验证它所接收的位置数据实际上是真的吗?请参阅上面的说明。 – jared 2012-02-18 07:32:29

相关问题