如何使用 Redis 实现无 Cookie 验证码功能?
不用 Cookie 实现验证码功能
传统的短信验证码使用 Cookie 储存验证码,但随着 SameSite 的出现和兼容性问题,这种方式面临挑战。因此,探索其他实现验证码功能的方法显得尤为重要。
除了 Cookie 之外,一种常见的方法是使用 Redis。具体步骤如下:
- 前端调用发送验证码的接口,该接口负责向用户手机号码发送验证码。同时,该接口将验证码储存在 Redis 中,并设定一分钟或五分钟的有效期,而不将验证码返回给前端。
- 用户收到验证码后,需要自行输入验证码并调用验证接口。该接口会将用户输入的验证码与之前储存在 Redis 中的验证码进行对比,如果一致则通过验证,否则验证失败。
这种方法避免了 Cookie 的限制,同时也确保了验证码的安全性。由于验证码不通过网路传送,而是由伺服器自行验证,因此 CORS 风险也得到了降低。