首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅限于QR扫描的站点访问

仅限于QR扫描的站点访问
EN

Stack Overflow用户
提问于 2013-04-22 22:03:47
回答 5查看 6.6K关注 0票数 5

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

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

我在谷歌上搜索这个问题已经有一段时间了,但一点运气都没有。我正在尝试通过引用URL或其他方法来确保一个人通过实际扫描提供的二维码到达网站。

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

现在我把这个问题提交给你们这些优秀的朋友们。

EN

回答 5

Stack Overflow用户

发布于 2013-04-22 22:08:58

我们公司也有类似的东西。我们提供如下链接:

代码语言:javascript
复制
zxing://scan/?ret=http%3A%2F%2Ffoo.com%2Fproducts%2F%7BCODE%7D%2Fdescription&SCAN_FORMATS=UPC_A,EAN_13

其中{ code }是在QRCode中返回的代码。所以你能做的就是像上面那样创建一个url (参见更多的链接信息)。然后将加密的数据放在QRCode中,所以只有当该url被用户点击并且该QRcode的数据是正确的时。人们可以继续访问你的网站。这样,如果qrcode被泄露,他们就不会知道网站。如果他们知道这个网站,代码就会被加密。

如果人们通过点击你的网站来扫描条形码。zxing将打开一个新浏览器,其中包含URL和充满扫描代码的{ code }。

但是,人们确实需要android或iphone的条形码扫描仪。

更多信息:

票数 2
EN

Stack Overflow用户

发布于 2013-04-22 22:56:12

您无法确保URL来自扫描二维码,这是不可能的。二维码只是一种对文本进行编码的方法,一旦用户知道了文本,他们就可以对它做任何他们想做的事情。

然而,你可以限制二维码的用处,所以即使它被泄露了,它也是没有用的。如果可能,我将通过随机种子按需生成二维码,并在不久之后让它们过期。这将使得即使二维码被泄露,它也不会在很长一段时间内有用。

票数 2
EN

Stack Overflow用户

发布于 2013-04-22 22:06:28

你能做的最好的事情就是在你的二维码中设置一个查询字符串。类似于:

代码语言:javascript
复制
http://www.example.com/myapp

可以更改为类似以下内容:

代码语言:javascript
复制
http://www.example.com/myapp/?qrcode=1

然后可以在PHP中使用以下命令进行处理:

代码语言:javascript
复制
if(!isset($_GET['qrcode'])) die();

当然,这样做的问题是,任何拥有URL的人都可以在正常的web浏览器中直接导航到该URL。

然而,这不是你可以预防的事情。

你也可以检查$_SERVER['HTTP_USER_AGENT']是否声称是一部手机。这是关于这个主题的another question

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16149138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档