关于注册邮箱验证码防刷设计方案你能想到几个

DBC 1.6K 0

需求:一定时间内禁止重复发送邮件,大家想下有哪几种实现方式

方式一:前端增加校验倒计时,不到60秒按钮不给点击

简单
不安全,存在绕过的情况

方式二:增加Redis存储,发送的时候设置下额外的key,并且60秒后过期

非原子操作,存在不一致性

增加的额外的key - value存储,浪费空间

/**
* 前置:判断是否重复发送
*
* 1、存储验证码到缓存
*
* 2、发送邮箱验证码
*
* 后置:存储发送记录
**/

方式三:基于原先的key拼装时间戳

好处:满足了当前节点内的原子性,也满足业务需求

发表评论 取消回复
表情 图片 链接 代码

分享