当前位置: 首页 > news >正文

春播网站是谁做的品牌策划方案模板

春播网站是谁做的,品牌策划方案模板,北京建筑网,淘宝官网网页版登录入口限制一分钟内最多发送5次,且每次有效时间是5分钟! String 发送验证码(phoneNumber) {key "shortMsg:limit:" phoneNumber;// 设置过期时间为 1 分钟(60 秒)// 使⽤ NX,只在不存在 key 时才能设置成功bool…

         限制一分钟内最多发送5次,且每次有效时间是5分钟!

String 发送验证码(phoneNumber) {key = "shortMsg:limit:" + phoneNumber;// 设置过期时间为 1 分钟(60 秒)// 使⽤ NX,只在不存在 key 时才能设置成功bool r = Redis 执⾏命令:set key 1 ex 60 nxif (r == false) {// 说明之前设置过该⼿机的验证码了long c = Redis 执⾏命令:incr keyif (c > 5) {// 说明超过了⼀分钟 5 次的限制了// 限制发送return null;}}// 说明要么之前没有设置过⼿机的验证码;要么次数没有超过 5 次String validationCode = ⽣成随机的 6 位数的验证码();validationKey = "validation:" + phoneNumber;// 验证码 5 分钟(300 秒)内有效Redis 执⾏命令:set validationKey validationCode ex 300;// 返回验证码,随后通过⼿机短信发送给⽤⼾return validationCode ;
}
// 验证⽤⼾输⼊的验证码是否正确
bool 验证验证码(phoneNumber, validationCode) {validationKey = "validation:" + phoneNumber;String value = Redis 执⾏命令:get validationKey;if (value == null) {// 说明没有这个⼿机的验证码记录,验证失败return false;}if (value == validationCode) {return true;} else {return false;}
}

在Redis中设置验证码是一种常见且有效的安全措施,主要用于验证用户身份和防止滥用服务。以下是如何在Redis中有效地设置和管理验证码的详细步骤:

  1. 生成验证码
    • 生成方式:通常使用随机算法生成一个固定长度(如4位或6位)的数字或字母组合作为验证码。例如,可以使用Java中的Random类生成一个6位数的验证码。
    • 代码示例
      public static String getCode(){Random random = new Random();String code = "";for (int i = 0; i < 6; i++) {int rand = random.nextInt(10);code += rand;}return code;
      }
      
  2. 存储验证码
    • Redis命令:使用SET命令将生成的验证码存储在Redis中,键名通常为“手机号_验证码”,值为验证码字符串本身。同时,为了确保验证码只在一段时间内有效(如1分钟或2分钟),需要使用EXPIRE命令设置验证码的过期时间。
    • 代码示例
      String ip = req.getRemoteAddr();
      String yzm = this.getYzm();
      ValueOperations forValue = rt.opsForValue();
      forValue.set(ip+"_yzm", yzm);
      rt.expire(ip+"_yzm", 60*1000);
      
  3. 发送验证码
    • 发送途径:通过短信网关API发送验证码到用户手机,这通常需要集成第三方短信服务商提供的SDK或API。发送完成后,用户手机会收到一条包含验证码的短信。
    • 注意事项
      • 安全性:确保在发送验证码之前进行必要的验证,如检查手机号格式是否正确,以及是否在短期内重复发送请求。这可以通过在Redis中另外存储发送次数来实现。
      • 限流:为了防止恶意攻击,可以限制每个手机号在一定时间内只能发送有限次数的验证码。具体实现时,可以在Redis中用另一个键记录发送次数,每次发送增加计数器,并检查是否超过限制。
  4. 校验验证码
    • 验证流程:用户在界面输入收到的验证码后,系统从Redis中取出与该手机号关联的验证码进行比对。如果一致且未过期,则验证通过;否则,提示验证码错误或已过期。
    • 代码示例
      public static void getRedisCode(String phone, String code){Jedis jedis = new Jedis("host", 6380);jedis.auth("密码");String codeKey = "VerifyCode" + phone + ":code";String s = jedis.get(codeKey);if (code.equals(s)){System.out.println("验证成功");} else {System.out.println("失败");}
      }
      
  5. 管理验证码
    • 超时处理:由于每个验证码都有有效期,因此需确保过期的验证码能够及时从Redis中清除,以避免数据堆积。通过合理设置Redis的过期时间自动清理机制,可以实现这一点。
    • 性能优化:在高并发场景下,使用Redis集群来分散读写压力,提高验证码的存取效率。

        综上所述,通过上述步骤,可以在Redis中有效地设置和管理验证码,以增强系统的安全性和用户体验。在实际应用中,根据具体需求调整细节,可以达到更好的效果。

http://www.15wanjia.com/news/52805.html

相关文章:

  • 做图片视频的网站有哪些问题登封搜索引擎优化
  • 有什么网站做交流会个人网页设计作品欣赏
  • 简单网站建设seo流量优化
  • 做网站编辑心得手机搜索引擎排名
  • wordpress要不要放网站地图网络营销成功案例
  • 做网站哪些软件云盘搜索引擎入口
  • 做网站为何要续费百度网址是多少 百度知道
  • 网络公司建网站搜索引擎是什么意思啊
  • 网站备案完电信微信公众号推广
  • 乐山市做网站的公司图片百度搜索
  • 如何查找做网站的服务商sem网站推广怎么做
  • wordpress扫码付费衡阳seo优化报价
  • 网站做重新做_域名不换_空间想转到新网站这边高明公司搜索seo
  • 美声广告网站建设郑州专业seo哪家好
  • wordpress旅游网站软文营销的技巧有哪些
  • 手机端做的优秀的网站信息流广告
  • 无锡 做网站外链群发
  • 网站做收款要什么条件网站seo顾问
  • 上海企业网站建设公阐述网络推广的主要方法
  • 网络营销网站建设流程广州网络推广哪家好
  • git做网站根目录企业网站建设费用
  • 网站备案跟网安备案区别最近热点新闻事件
  • 南通专业网站制作公司史上最强大的搜索神器
  • 怎么建设国际网站首页nba最新排名榜
  • 计算机网站开发毕业论文培训心得模板
  • 优秀企业网站制作网站推广途径和推广要点
  • 广州创建网站什么是搜索关键词
  • 网站推广优化外包公司哪家好百度seo网站优化服务
  • 云典wordpressseo黑帽是什么
  • 网站默认模板怎么推广网站