为了账号安全,请及时绑定邮箱和手机立即绑定

后端验证码的值如何和前端进行匹对?

后端验证码的值如何和前端进行匹对?

慕村225694 2019-03-20 18:15:37
前端用户注册时填验证码图片的值,然后和后端进行匹对。但是因为用户没有注册,无法给他绑一个识别身份,所以我暂时的设计是这样的:生成验证码图片时把验证码的值存进缓存(redis)里,缓存设置过期时间,然后前端提交验证验证码时从缓存里读取值,看是否有,如果存在匹对成功并且删除该条缓存。这样的问题就是有可能出现输错也能匹对成功的情况,只是几率不是特别高。请问有没有更好的思路?
查看完整描述

6 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

如果是非前后端分离,那么可以将验证码存放在session中,进行校验。
如果是前后端分离,那么,前端每次请求都是无状态的,那么,就需要在前端第一次请求的时候,分配给前端一个token,然后,前端每次请求时,都会带着这个token。可以将该token作为redis的键值,并将验证码放在对应的值位置。

查看完整回答
反对 回复 2019-04-22
?
BIG阳

TA贡献1859条经验 获得超6个赞

一个session一个验证码,没注册也有session


查看完整回答
反对 回复 2019-04-22
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

只要控制好,应该不会出现输错也能匹对成功的情况。
1,后台生成验证码。并且放到session里。
2,前台获取验证码也是和刚才放到session里的这个同步。
3,如果前台输错了,或者用户点击了切换验证码。那后台就更换验证码,同时session里的也更换

其实,只要始终保证前台显示的验证码和session中的同步就不会出现问题。

PS:每个request是多线程情况的话就应该不会出现输错也能匹对成功的情况。


查看完整回答
反对 回复 2019-04-22
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

session:在计算机中,尤其是在网络应用中,称为“会话控制”。不论是不是注册用户,只要访问,服务器就会生成一个唯一的会话 ID 。把验证码数据存在 session 里面即可。


查看完整回答
反对 回复 2019-04-22
  • 6 回答
  • 0 关注
  • 1550 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号