【问题标题】:Geolocation spoofing protection in webappwebapp中的地理位置欺骗保护
【发布时间】:2017-03-14 05:45:48
【问题描述】:

我正在构建一个网络应用程序,该应用程序在某些位置为用户提供某些可解锁的功能。我刚刚意识到欺骗 GPS 位置是多么容易。 Chrome 开发工具甚至在传感器下提供 GeoLocation 自定义位置覆盖设置。如何为类似的黑客设置有效的检查?

更新: Chrome 开发工具地理定位覆盖输出精度为 150m,因此如果我设置了一个阈值,即 40m 精度(拒绝所有精度大于 40m 的数据)。那么这可以解释简单的 chrome 开发工具 hack(非常适合测试)

【问题讨论】:

  • 你不能。即使可以,也会侵犯您的用户隐私。
  • 对不起,但这似乎是一个非常不知情的答案。如此多的基于位置的应用程序确实对恶意用户进行了检查。另外,用户同意分享他们的位置。
  • @jasan 这些应用程序都没有真正防止恶意用户。我保证,他们都很脆弱。
  • JavaScript 位置,就像所有 JavaScript 一样,是客户端,因此总是受用户操纵。
  • @jasan 不要忘记,我们可以绕过您的网络应用程序并将适当的数据发送回您的服务器。

标签: javascript geolocation geo spoofing


【解决方案1】:

无法防止用户欺骗他们的位置。即使您可以在客户端软件中阻止它(明确地说,您不能),用户也可以通过外部 GPS(或只是带有欺骗性位置数据的串行端口驱动程序)输入位置。

可以做的就是注意这种欺骗的迹象。您可以为位置更改设置阈值等等。如果有人突然出现超出合理范围的移动,您可以将数据标记为可疑。但这并不理想,因为有时会立即更新位置。 (假设你的设备在你从一个城市起飞之前处于飞行模式,然后一离开飞行模式就更新了。短时间内,手机认为它在一个地方,然后立即运送到正确的地方。)

最终,从一般意义上讲,您对此无能为力。

【讨论】:

  • 这真是令人沮丧。我还发现 chrome 商店也有多个地理欺骗扩展。正如您已经提到的,我可以检查速度(使用点之间的距离和时间差异计算)。我附加的任何其他条件可以增加检测欺骗的机会?
  • @jasan 这取决于您的应用程序的具体情况。在你看来什么是正常的?这是用来开车的吗?步行?与网络流量有关?只有您可以确定您的应用程序的正常情况。您可以考虑使用真实用户进行测试并查看异常值的数据。
猜你喜欢
  • 1970-01-01
  • 2011-10-01
  • 2013-08-27
  • 2021-06-09
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
相关资源
最近更新 更多