【问题标题】:Preventing iOS/Android users from faking their GPS location防止 iOS/Android 用户伪造他们的 GPS 位置
【发布时间】:2017-07-26 16:26:20
【问题描述】:

我正在构建将使用用户 GPS 位置的 Android 和 IOS 应用。我担心用户伪造他们的 GPS 位置,因为我听说有人在使用 Uber

是否有防止或检测这种情况的编程方式?

【问题讨论】:

    标签: android ios gps location coordinates


    【解决方案1】:

    几乎没有办法验证您的 GPS 读数的正确性。但是,您可以使用一些变通方法来检测可能的欺骗:

    首先,您可以检测他们是否启用了模拟位置设置(这通常由 GPS 伪造应用程序使用)。为此,请查找 Settings.Secure.ALLOW_MOCK_LOCATION) 设置并检查它是否已启用。然后检查哪些应用程序具有该权限(即android.permission.ACCESS_MOCK_LOCATION)。如果存在使用该权限的应用并且该设置处于开启状态,则它们可能会伪造用户的位置信息。

    您也可以尝试使用Location.isFromMockProvider,尽管我不确定结果是否准确。如果您正在检查的位置是通过 GPS 伪造应用获取的,则该函数返回 true。

    【讨论】:

      【解决方案2】:

      我不确定,但如果有人想提供假 GPS 位置,他需要有 root 手机。所以你可以检查一下,如果有人已经root了电话,那么不要相信他/她的位置。检查手机是否root:link

      【讨论】:

      • 当然,自己生根并不一定意味着你伪造了你的位置。这几乎就像在说“如果那个人有枪,他很可能是杀手”。从您的用户听觉中排除所有有根电话是一个重大打击,如果您能提供帮助,我不建议您自己承担。我建议不要检查手机是否已植根,而是检查是否启用了 GPS 伪造选项(有关详细信息,请参阅我的答案)
      • 我不需要 root 手机来伪造我的 GPS 位置。
      猜你喜欢
      • 1970-01-01
      • 2019-01-10
      • 2016-11-12
      • 1970-01-01
      • 2013-01-08
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多