工业级PaaS云平台8.9 关于注册邮箱验证码防刷设计方案你能想到几个

简介:注册邮箱验证码防刷方案你能想到几个

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

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

      • 简单
      • 不安全,存在绕过的情况
    • 方式二:增加Redis存储,发送的时候设置下额外的key,并且60秒后过期

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

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

       

/**
 * 前置:判断是否重复发送
 *
 * 1、存储验证码到缓存
 *
 * 2、发送邮箱验证码
 *
 * 后置:存储发送记录
 **/
  • 方式三:基于原先的key拼装时间戳
  • 好处:满足了当前节点内的原子性,也满足业务需求
posted @ 2022-05-11 20:09  AlamZ  阅读(41)  评论(0编辑  收藏  举报