除了 Cookie,实现验证码还有哪些方法?
从传统使用 Cookie 来实现验证码功能出发,本文介绍了两种替代方案。
一、Redis 保存验证码
- 前端调用发送验证码的接口,该接口向用户手机号发送验证码,同时将验证码保存在 Redis 中,设置短时间的有效期。
- 用户收到验证码后,输入验证码并调用验证接口。
- 验证接口将用户输入的验证码与 Redis 中保存的验证码进行比对,校验通过后即可完成验证。
二、会话 Cookie
相对较新的方法,通过会话 Cookie 来实现验证码。会话 Cookie 在关闭浏览器后失效,因此可以一定程度上解决 SameSite 带来的问题。
- 前端发送验证码请求,服务器生成一个会话 Cookie 和一个用于验证的令牌。
- Cookie 和令牌分别发送给前端和存储在服务器端。
- 用户收到验证码后,输入验证码并向服务器发送验证请求。
- 服务器验证 Cookie 和令牌是否匹配,校验通过后即可完成验证。
以上就是除了 Cookie,还有哪些方法可以实现验证码?的详细内容,更多请关注php中文网其它相关文章!