我想使用二维码来唯一识别一个特定的地方,所以在这个地方你可以扫描二维码,而且应用程序知道你去过的地方。
我想通过生成QR码的副本(使用API或其他),确保用户无法通过多次在特定地点“登记”来重新创建此QR码和“作弊”
这可能与QR码有关吗?
答案 0 :(得分:1)
除非您每次都可以创建一个新的并且跟踪它的使用,否则,一个人可以拍摄二维码的照片,然后发布它,有人可以用手机或设备扫描副本。也许如果你要求发送gps坐标,但是没有什么可以阻止他们将gps和图像一起欺骗。
答案 1 :(得分:1)
如果我正确理解你的问题,这是我的解决方案。您希望创建一个包含数据的JSON对象,该对象应使用类似HMAC的方式进行签名。将Json编码为QR 例子
{
"data":{
"location":"lat/long"
},
"sign":"4bcb287e284f8c21e87e14ba2dc40b16"
}
答案 2 :(得分:0)
以下是我的表现。
的QR码当用户扫描代码时,他们会被带到一个网站。
然后,使用JavaScript获取当前位置的GPS位置。
让他们提交一份网站表单,将其位置发送给您的服务。
示例JavaScript
navigator.geolocation.getCurrentPosition(geoSuccess, geoStatus , { enableHighAccuracy: true });
答案 3 :(得分:0)
遗憾的是,无法使用qr代码。这一切都很容易复制一个二维码
Android应用商店中有应用程序可以解码qr代码并保存数据。 quickmark is one such scanner
quickmark还可以生成qr代码,并将其保存到设备中。以及使用qr代码的照片进行扫描。
您需要使用某种外部验证。
我看到一个用户已经发布了一个可能的解决方案。
但另一种解决方案(我认为会更昂贵)是为每个用户分配他们自己的代码,
然后将扫描仪放在位置上以扫描用户代码
这样可以防止欺骗性位置,因为它的硬件正在进行“检入”
这与belly的工作原理大致相同 if your unfamiliar with belly heres a video that walks through customer signup and checking in