将站点访问限制为仅 QR 扫描

han*_*way 5 html javascript php privacy qr-code

我已经看到一些关于确保网站访问来自二维码扫描的问题,但他们似乎专注于分析目的(跟踪流量来自何处),而我的兴趣在于安全/隐私。

我想建立一个只有在扫描提供的二维码时才能访问的网站。换句话说,我不希望二维码拥有的 URL 只能手动输入/粘贴以通过其他方式访问站点。

我一直在谷歌上搜索这个问题,但没有任何运气。我正在尝试使用引用 URL 或其他方法来确保一个人通过实际扫描提供的 QR 码到达该站点。

编辑:该解决方案也需要独立于扫描仪(即我不能强制用户下载和使用特定的 QR 扫描仪应用程序)和跨平台(Android + iOS + WinMo + BlackBerry 等)。

现在我把这个问题提交给你们这些了不起的人。

Dan*_*ett 1

您能做的最好的事情就是在二维码中设置查询字符串。就像是:

http://www.example.com/myapp
Run Code Online (Sandbox Code Playgroud)

可以改成这样:

http://www.example.com/myapp/?qrcode=1
Run Code Online (Sandbox Code Playgroud)

然后可以在 PHP 中通过以下方式处理:

if(!isset($_GET['qrcode'])) die();
Run Code Online (Sandbox Code Playgroud)

当然,这样做的问题是,任何知道该 URL 的人都可以在普通 Web 浏览器中直接导航到该 URL。

然而,这不是您可以阻止的事情。

您还可以检查是否$_SERVER['HTTP_USER_AGENT']声称是手机。这是关于该主题的另一个问题

  • @praguian 是的,这是完全可能的。本质上,您需要使用几种不同事物的**组合**。使用查询字符串,检查用户代理是否为移动设备,并检查引荐来源网址是否为空。如果其中任何一个未通过检查,则“die();”。 (2认同)