【问题标题】:Determine if page was loaded from history or from QR Code scan确定页面是从历史记录还是从 QR 码扫描加载的
【发布时间】:2013-06-01 14:49:58
【问题描述】:

情况是这样的。我正在尝试在餐厅中实施一个系统,其中每张桌子都有其唯一的 QR 码。二维码是固定的,硬印在桌子上。我的应用程序基本上是一个网页,而 QR 码只是一个网页地址,带有一个用于标识表格的加密参数。

这个系统已经(在一定程度上)受到了恶作剧者的保护,只允许来自 Wifi 连接的 IP 地址的订单。因此,您至少需要连接到餐厅的 wifi 才能使用此页面。不能保护建筑物外的人,但这是另一个问题。

如果用户今天来并扫描表 3 的代码并下订单,则会出现此问题。如果用户稍后来并坐在表 5,我不知道如何阻止他们加载先前扫描的链接(针对表 3)并为表 3 下订单。

不断更改带有时间戳的二维码可以解决问题,但这是不可能的,因为二维码是固定的。

有没有办法让页面“知道”它是从 QR 码扫描加载的,或者它是否是从浏览历史记录加载的?我们谈论的是智能手机上加载的页面,所以我想这很复杂。

任何帮助或指点将不胜感激! :)

【问题讨论】:

    标签: qr-code browser-history


    【解决方案1】:

    简而言之,不。通常没有“引用”标题会告诉您页面已从书签加载或从扫描仪的历史记录中检索到而不是直接扫描。

    拥有不断变化的二维码并非不可能(使用 eInk 或小型显示器),但这并不能解决问题。

    这是我将如何解决它。

    用户扫描代码 - example.com/table3 - 他们看到的第一件事是一张地图,上面突出显示了表 3。

    文字内容为“如果您不在第 3 桌,请扫描您桌上的二维码。如果您在 - 点击此处订购。”或者类似的东西。

    向用户解释,如果他们没有坐在正确的桌子旁 - 其他人会得到他们的食物!

    【讨论】:

    • 谢谢。问题在于恶作剧者故意为其他餐桌订购食物。由于目前该设置不支持通过订单付款,因此他们几乎没有损失。但是,我找到了解决问题的另一种方法。我将二维码设置为指向一个不存在的页面,然后(通过错误 404 处理)重定向到另一个页面,同时还传递一个动态时间戳(查询字符串)。这是存储在浏览器历史记录中的第二个页面,由于它包含一个加密的时间戳,我可以使用它来查看二维码是多久前被扫描的。不完美,但还过得去。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多