java实现发送短信验证码+redis限制发送的次数 您所在的位置:网站首页 短信有限制发多少条吗 java实现发送短信验证码+redis限制发送的次数

java实现发送短信验证码+redis限制发送的次数

2024-06-30 13:56| 来源: 网络整理| 查看: 265

java实现短信验证码发送,由于我们使用第三方平台进行验证码的发送,所以首先,我们要在一个平台进行注册。这样的平台有很多,有的平台在新建账号的时候会附带赠几条免费短信。这里我仅做测试使用(具体哪个平台见参考三,很简单,注册账号就行,记得添加短信签名)。

另外,在实际项目中,如果有人恶意攻击,不停的发送短信验证码,就会造成很大的损失。故对发送次数做一定的限制就非常必要,这里我们限制一个手机号一天可以发多少短信和短信平台无关。

这里采用的是存redis来实现这一个功能。就是每次调用发送验证码这个接口都会判断手机号码是否在redis中存为key了。如果没有则创建一个key为手机号码value是1.因为redis中不支持数字所以将其变为了string类型。如果redis中已经有这个key了则将此key的值取出来加1再存进redis中。

代码实现:

pom.xml

4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.2 com.lmc springboot-sendsms 0.0.1-SNAPSHOT springboot-sendsms Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.apache.httpcomponents httpclient org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-maven-plugin

RespBean.java

package com.lmc.bean; public class RespBean { private Integer status; private String msg; private Object obj; public static RespBean build() { return new RespBean(); } public static RespBean ok(String msg) { return new RespBean(200, msg, null); } public static RespBean ok(String msg, Object obj) { return new RespBean(200, msg, obj); } public static RespBean error(String msg) { return new RespBean(500, msg, null); } public static RespBean error(String msg, Object obj) { return new RespBean(500, msg, obj); } private RespBean() { } private RespBean(Integer status, String msg, Object obj) { this.status = status; this.msg = msg; this.obj = obj; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有