2011-09-16 197 views
-1

我想用QR码来唯一标识一个特定的地方,所以在这个地方你扫描QR码和应用程​​序知道你去过哪里。QR code复制/生成

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

这可能与QR码?

回答

1

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

0

这是我该怎么做的。

创建一个QR码指向http://example.com/place1

当用户扫描代码,他们得到带到另外一个网站。

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

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

样品的JavaScript

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

可惜没这是不可能的QR码。它的一切都很容易制作一个二维码的副本。
在android应用商店中有可以解码qr码并保存数据的应用。 quickmark is one such scanner
quickmark还可以生成二维码,并将其保存到设备中。以及使用qr码的照片进行扫描。

您需要使用某种外部验证。 我看到一个用户已经发布了一个可能的解决方案。
但另一种解决方案(我想象会更昂贵)将分配给每个用户自己的代码,
然后将扫描仪放在位置扫描用户代码。
这将防止伪造的位置,因为它的硬件做

“登记”,这是用同样的方法很多belly工作
if your unfamiliar with belly heres a video that walks through customer signup and checking in

1

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

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