怎么防止二维码被伪造
我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我系统生成1个二维码,后台怎么识别用户扫的是我系统生成的二维码而不是用户根据我的二维码内容自己做的二维码?
加token或着加密方法我想了下, 用户扫一次我的码,然后复制token或者加密后的字符串,在生成自己的二维码我好像也分辨不出来噢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
只能对你的内容进行加密,让用户不能自己伪造,二维码说白了就是将文本图形化而已,扫码就是将文本解出来而已,所以只能从源头入手
自己定个加密规则加密二维码的内容,扫码后再解密里面的内容
建议系统生成二维码时带上一个 token,用来标识二维码的有效性,当用户扫描二维码时,服务端拿到这个 token 之后再来校验二维码是否已失效
1 二维码内容就是一个
token
token
由服务端生成,比如 mysql 的UUID()
2 用户扫二维码后,把
token
提交到服务器做验证,取token
对应内容如果是伪造的,服务器上不会存在对应 token
另外:如果需要识别扫码用户的身份,
token
+user identity
+hash
来解决这个其实要界定区分你所谓的被伪造的情况
对于3,可以采用上面提到的,增加token信息之类的方式,让伪造的失效,但对于1和2,其实没有根本的办法处理的。因为1和2包含了完整的原始信息,所以对效果来说是可以完全等效原始的,当然就不能杜绝。
其中1的影响可能更大,因为它可以改变真正的使用路径,比如增加中间层(中间过程)