我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢
我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢
建议系统生成二维码时带上一个 token,用来标识二维码的有效性,当用户扫描二维码时,服务端拿到这个 token 之后再来校验二维码是否已失效
已参与了 SegmengtFault 思否 「问答」打卡,欢迎正在阅读的你也加入。
1 二维码内容就是一个 token
token
由服务端生成,比如 mysql 的 UUID()
2 用户扫二维码后,把 token
提交到服务器做验证,取 token
对应内容
如果是伪造的,服务器上不会存在对应 token
另外:如果需要识别扫码用户的身份,token
+user identity
+hash
来解决
这个其实要界定区分你所谓的被伪造的情况
对于3,可以采用上面提到的,增加token信息之类的方式,让伪造的失效,但对于1和2,其实没有根本的办法处理的。因为1和2包含了完整的原始信息,所以对效果来说是可以完全等效原始的,当然就不能杜绝。
其中1的影响可能更大,因为它可以改变真正的使用路径,比如增加中间层(中间过程)
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答879 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
只能对你的内容进行加密,让用户不能自己伪造,二维码说白了就是将文本图形化而已,扫码就是将文本解出来而已,所以只能从源头入手