怎么防止二维码被伪造

发布于 2022-09-13 00:27:31 字数 129 浏览 44 评论 0

我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浅紫色的梦幻 2022-09-20 00:27:31

只能对你的内容进行加密,让用户不能自己伪造,二维码说白了就是将文本图形化而已,扫码就是将文本解出来而已,所以只能从源头入手

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入

我也只是我 2022-09-20 00:27:31

自己定个加密规则加密二维码的内容,扫码后再解密里面的内容

忆梦 2022-09-20 00:27:31

建议系统生成二维码时带上一个 token,用来标识二维码的有效性,当用户扫描二维码时,服务端拿到这个 token 之后再来校验二维码是否已失效

已参与了 SegmengtFault 思否 「问答」打卡,欢迎正在阅读的你也加入。

苍风燃霜 2022-09-20 00:27:31

1 二维码内容就是一个 token
 token 由服务端生成,比如 mysql 的 UUID()
2 用户扫二维码后,把 token 提交到服务器做验证,取 token 对应内容
 如果是伪造的,服务器上不会存在对应 token

另外:如果需要识别扫码用户的身份,token+user identity+hash 来解决

彼岸花似海 2022-09-20 00:27:31

这个其实要界定区分你所谓的被伪造的情况

  1. 完整包含你实际的内容,增加其他内容
  2. 完整包含你实际的内容,更换部分内容,感觉像其它
  3. 只包含你部分实际内容

对于3,可以采用上面提到的,增加token信息之类的方式,让伪造的失效,但对于1和2,其实没有根本的办法处理的。因为1和2包含了完整的原始信息,所以对效果来说是可以完全等效原始的,当然就不能杜绝。

其中1的影响可能更大,因为它可以改变真正的使用路径,比如增加中间层(中间过程)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文