QPW 手机短信验证码发送日志表(tf_sms_send_log)
文章目录
- 手机短信验证码发送日志表
- 需求说明
手机短信验证码发送日志表
CREATE TABLE `tf_sms_send_log` (`send_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '发送ID',`user_id` bigint(11) DEFAULT NULL COMMENT '用户ID',`phone` varchar(20) DEFAULT NULL COMMENT '手机号码',`validate_code` varchar(16) DEFAULT NULL COMMENT '验证码',`status` smallint(6) DEFAULT NULL COMMENT '状态', # `insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`send_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
需求说明
每次生成短信内容,调第三方短信接口发送成功后,再往这张表保存一条日志,同个手机号的日志不要覆盖,这样可以统计同个用户在一段时间内发送短信的次数,以此判断用户的异常行为,并作出限制
短信验证码的有效期120秒
字段 status 存值:0-有效、1-无效、2-过期,状态值无需存入「数据字典」表
(1)校验验证码时,需要判断验证码是否过期,若过期则验证码的状态置为“已过期”;
(2)验证码通过验证后,验证码的状态置为“无效”。
QPW 手机短信验证码发送日志表(tf_sms_send_log)相关推荐
- Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)
1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...
- 手机短信验证码发送(106短信验证码发送)
打开网页地址栏输入:http://www.106jiekou.com/ 需要用户注册,登陆,在上边购买短信,大概是10块钱100条, 买完之后可以直接下载接口说明文档和源代码的案例,是个压缩包 cu- ...
- Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用...
近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...
- Java调用WebService接口实现发送手机短信验证码功能
为什么80%的码农都做不了架构师?>>> 一.样式示例: 二.前台的注册页面的代码:reg.jsp <%@ page language="java" ...
- java调接口实现发送手机短信验证码功能,手机验证码,接口调用
原文地址: http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591 近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用 ...
- 发送手机短信验证码-后端、前端(验证码倒计时)
获取手机短信验证码-后端.前端(验证码倒计时) 后端 /*** 发送手机短信验证码** @return str* @throws Exception* @author 王永圣*/@RequestMap ...
- 容联云发送手机短信验证码
首先在根目录下定义全局使用的连接容联云py的文件 下载SDK pip install ronglian_sms_sdk 在文件中导入 ↓ from ronglian_sms_sdk import Sm ...
- 手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
短信验证码登录功能 项目分析 核心代码 1.外部js库调用 2.HTML容器构建 3.javaScript业务逻辑验证 4.后端验证逻辑 总结 短信验证码是通过发送验证码到手机的一种有效的验证码系统, ...
- php手机短信接口发送验证码
SMS.CN的短信接口 发送验证码 HTML index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
最新文章
- 《Hadoop技术详解》一导读
- STM32 进阶教程 15 - 串口DMA收发
- centos进入单用户模式
- return和break的区别
- C#关于伪静态页面的两种实现方法
- linux之ubunt把启动栏底部和左边切换
- 《C++ Primer》7.3.1节练习
- 所有受限制的应用程序包_您需要了解的有关Mac的Apple新款M1芯片的所有信息
- php的auth权限类源码
- tomcat依赖导入步骤_将tomcat源码导入eclipse
- CherryPy上传文件
- C++中typedef void(*F)(类型)解读
- 用反卷积(Deconvnet)可视化和理解卷积网络
- OpenDaylight你不可不知的十大问题——OpenDaylight是什么?
- 敏感词过滤算法对比,顺便开源了个工具库
- 基于 element ui 之 ui-tooltip 组件
- Mac配置双网卡使内外网同时访问
- SketchUp2020下载SketchUp2020下载安装SketchUp草图大师2020下载安装详细教程
- android信鸽推送demo_android app 集成 信鸽推送
- shufflenet_v1
热门文章
- cassandra可视化_容器化Spring Data Cassandra应用程序
- 技术停滞_检测和测试停滞的流– RxJava常见问题解答
- jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式
- netbeans插件_如何编写NetBeans插件
- hamcrest_重新设计Hamcrest
- 自动化用户特定实体的访问控制
- restful web_泽西岛的RESTful Web服务
- java.util接口_函数接口– Java 8中java.util.function包中的函数接口
- 人工智能在建筑运营_打造智能建筑商
- Spring Cloud教程– Spring Cloud Config Server简介