确认来源来自二维码扫描

jee*_*ezy 6 authentication mobile qr-code

我有一个项目,我需要知道访问者是否是通过二维码合法到达的。QR 码中的 Document.referrer 值显示为空白。我看过一些建议将参数放入查询字符串中的答案(例如?source=qr),但任何人都可以轻松地将参数添加到 URL 中,并且我的代码会认为它来自 QR 码(例如www.project.com/check.page?source=qr)。我曾想过添加代码以确保它来自手机/平板电脑,作为身份验证的辅助方式,但许多浏览器都有附加组件来欺骗网站。

任何建议将不胜感激。

提前致谢。

Jor*_*los 2

我认为最适合您的解决方案是创建指向以下内容的区域二维码:

Region 1)  http://example.com/?qr=f61060194c9c6763bb63385782aa216f
Region 2)  http://example.com/?qr=731417b947aa548528344fab8e0f29b6
Region 3)  http://example.com/?qr=df189e7f7c8b89edd05ccc6aec36c36d
Run Code Online (Sandbox Code Playgroud)

如果参数qr的值不是f61060194c9c6763bb63385782aa216f731417b947aa548528344fab8e0f29b6df189e7f7c8b89edd05ccc6aec36c36d以外的任何值,那么您可以忽略它并假设用户不是来自任何二维码。

当然,任何用户都可以删除参数。但至少他无法添加有效的代码,除非他确实有权访问代码。