【问题标题】:QR code copying/generation二维码复制/生成
【发布时间】:2017-08-16 14:19:56
【问题描述】:

我想使用二维码来唯一标识一个特定的地方,所以在这个地方你扫描二维码,应用就会知道你去过哪里。

我想确保用户无法通过生成 QR 码的副本(使用 API 或其他方式)在特定地点多次“签到”来重新创建此 QR 码和“作弊” .

二维码可以做到吗?

【问题讨论】:

    标签: qr-code


    【解决方案1】:

    除非您每次都可以创建一个新的并跟踪其使用情况,否则不会,一个人可以拍摄二维码的照片,然后将其发布,然后其他人可以用他们的手机或设备扫描副本。也许如果您要求也发送 gps 坐标,但没有什么可以阻止他们欺骗 gps 和图像。

    【讨论】:

      【解决方案2】:

      如果我正确理解了您的问题,这就是我的解决方案。您想创建一个包含您的数据的 JSON 对象,该对象应该使用 HMAC 之类的东西进行签名。将 Json 编码为 QR 例子

      {
      "data":{
           "location":"lat/long"
           },
      "sign":"4bcb287e284f8c21e87e14ba2dc40b16"
      }
      

      【讨论】:

        【解决方案3】:

        这就是我的做法。

        创建一个指向http://example.com/place1的二维码

        当用户扫描代码时,他们会被带到一个网站。

        然后,使用 JavaScript 获取他们当前所在位置的 GPS 位置。

        让他们提交一个网络表单,将他们的位置发送到您的服务。

        示例 JavaScript

        navigator.geolocation.getCurrentPosition(geoSuccess, geoStatus , { enableHighAccuracy: true });
        

        【讨论】:

          【解决方案4】:

          很遗憾,使用二维码是不可能的。复制二维码非常容易。
          安卓应用商店中有可以解码二维码并保存数据的应用。 quickmark is one such scanner
          quickmark 还可以制作二维码,并保存到设备中。以及使用二维码的照片进行扫描。

          您需要使用某种外部验证。 我看到一个用户已经发布了一个可能的解决方案。
          但另一种解决方案(我想会更贵)是为每个用户分配自己的代码,
          然后将扫描仪放在位置上以扫描用户代码。
          这将防止欺骗位置,因为它是您的硬件进行“签入”

          这与belly 的工作方式大致相同
          if your unfamiliar with belly heres a video that walks through customer signup and checking in

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多