登录
首页 >  Golang >  Go问答

除了cookie之外,还能用什么方法做验证码功能?

来源:SegmentFault

时间:2023-01-22 20:41:32 137浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《除了cookie之外,还能用什么方法做验证码功能?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下前端、Java、go、Cookie、后端,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

如题,一般现在的短信验证码是这样做的(至少我们是这样做的):前端调发短信接口,response返回一个cookie,然后下一个验证的接口,前端通过设置credentials: 'include',把cookie带上传给服务器,这样服务器就知道要对上哪个验证码了。

但是现在cookie有了个新敌人:SameSite,使得传递cookie变得困难起来,而且SameSite的兼容性也是个问题,据说部分旧版和国内的浏览器不能正确地识别SameSite=None,使得服务器端设了也白设。另外SameSite=None确实也有cors的风险。

所以我们如果不用cookie,还能怎么样实现验证码功能呢?

正确答案

前端调用发送验证码的接口,该接口给用户手机号发送验证码,同时将这个验证码保存到redis,可以设置一分钟或者五分钟的有效期,不需要将验证码返回给前端

用户手机短信收到验证码后,自己输入验证码,调用验证接口,用户输入的验证码与刚刚redis保存的验证码进行校验和对比即可

今天关于《除了cookie之外,还能用什么方法做验证码功能?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于golang的内容请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>