【问题标题】:How to prevent Android Mock Location in PWA application?如何防止 PWA 应用程序中的 Android 模拟位置?
【发布时间】:2020-02-12 05:37:08
【问题描述】:

在 PWA 中,我们可以通过 W3C 地理定位 API 获取设备的当前位置。 这很容易。

  if (!navigator.geolocation) {
    status.textContent = 'Geolocation is not supported by your browser';
  } else {
    status.textContent = 'Locating…';
    navigator.geolocation.getCurrentPosition(success, error);
  }

但是,在 Android 中,W3C 位置 API 会受到用户模拟位置设置的影响。 因此用户可以轻松地欺骗当前位置。

有什么方法可以防止 PWA 中的模拟位置设置?

【问题讨论】:

  • 你好,我和你有同样的问题,你找到解决办法了吗?
  • 我有机器学习的基本想法,并确定合法和虚假 GPS 采集数据之间的行为差​​异,并希望在未来进行开发。但是,我的这项活动不是我的日常工作,而是一种休闲爱好,所以我没有关于何时解决它的路线图。

标签: android geolocation progressive-web-apps mock-location


【解决方案1】:

使用此条件检查模拟位置:

 public static boolean isMockLocation(Location location) {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && location != null && location.isFromMockProvider();
    }

【讨论】:

  • PWA 在 Chrome 平台上运行,因此我们无法在其上执行 Java。
【解决方案2】:

如果您担心用户会欺骗他们的位置,那么模拟位置并不是他们唯一的选择。他们可以使用 gps-sdr-sim 和 HackRF SDR 生成虚假 GPS 信号并通过空中传输。

【讨论】:

  • 我想知道的是如何防止模拟定位。
  • 不知道其他类似的潜行人员。
  • 如果您只解决模拟位置问题,您会“强迫”那些想要欺骗您的人寻找其他欺骗方式。所以我认为需要一个更通用的解决方案,这不是微不足道的,但有一些解决方案。在 Dr. Google 中搜索 GPS 欺骗检测。
  • 您应该正确理解所询问的内容。自 2006 年以来,我一直是日本 Pokémon GO 等定位游戏的先驱,我已经拥有很多定位欺骗工具,比如双重定位,所以我知道有很多方法可以欺骗 GPS。而且我知道所有的位置欺诈方法都具有成本效益,因此避免低成本的方法并不完美,但它在一定程度上降低了风险。与其他成本高昂的欺骗方法相比,Mock Location 是一种几乎免费的欺骗方法,所以我只想知道是否有办法在 PWA 上保护它,这是一个功能有限的平台。
  • 如果 Google 能像您说的那样弄清楚如何防止 GPS 欺骗,我很想听听其中一种在 PWA 中起作用的方法。
【解决方案3】:

我对 PWA 了解不多,但下面是 Java 代码,可帮助您检查是否启用了模拟位置设置。

/**
     * Method for check is location server enabled or not
     * @param context
     * @return
     */
    public static boolean isMockSettingsEnabled(Context context) {
        return !Settings.Secure.getString(context.getContentResolver(),
                Settings.Secure.ALLOW_MOCK_LOCATION).equals("0");
    }

【讨论】:

  • PWA 在 Chrome 平台上运行,因此我们无法在其上执行 Java。
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 2015-02-14
  • 2016-01-05
  • 2022-07-27
  • 1970-01-01
相关资源
最近更新 更多