flask创建手机验证码发送逻辑

同样的,回顾django中使用手机验证码的逻辑,大致可以分为几步
1.获取用户手机号码
2.校验手机号码
3.生成验证码
4.将验证码添加手机号查询方式添加到redis中
5.添加redis中手机存在验证,为了不让用户重复发送验证码
6.发送手机验证码
根据上面的步骤,我就直接贴代码了

from cars.libs.yuntongxun.sms import CCP
导入手机验证码发送的第三方包
import re
import random
import logging
from . import api
from cars import redis_store
调用全局redis实例
from flask import request,jsonify
导入request包获取传入数据@api.route('/send_msg',methods=['post'])
使用post方法来获取用户数据
def send_msg_code():# acquire parameterphone=request.form.get('phone')获得前端传回用户手机号码print(phone)# verify parameter is not emptyif not all([phone]):return jsonify(message='phone can not be null')验证手机号码是否为空# verify parameter is legelif not re.match(r'1[3,4,5,7,8,9]\d{9}',phone):return jsonify(message='phone number is not avaliable')验证手机号码是否是合法的# generate msg_codemsg = '%04d' % random.randint(0, 9999)生成手机验证码logging.debug(msg)# store msg in redisprint(msg)try:if redis_store.get('flag_%s'%phone):如果该值存在,即为手机验证码还未过期重复发送return jsonify(message='do not send code in 5 minutes')else:如果不存在,即手机验证码并未发送,发送存储新的验证码到redis中,并添加手机查询标志redis_store.set('msg_%s' % phone, msg, 60 * 5)redis_store.set('flag_%s' % phone, 1, 60 * 5)如果保存不成功,抛出错误except Exception as e :logging.error(e)return jsonify(message='msg_code error')发送手机验证码,模板为1,内容为验证码和过期时间# send msgccp=CCP()ret_data = ccp.send_template_sms(phone, [msg, '5'], 1)如果返回值为-1则手机验证码发送失败if ret_data == -1:return jsonify(msg='msg_code send error')# returnreturn ('okay')

这里手机验证码发送的包是我之前django使用的包
用postman模拟
如果觉得发送部分逻辑比较麻烦可以先注释掉
别忘记把CSRF保护部分代码注释掉

注意这里的发送路径拼接别忘了添加注册蓝图时添加的前缀路径

DEGUG中就是我们的验证码信息

redis中的信息

flask创建手机验证码发送逻辑相关推荐

  1. Redis——模拟手机验证码发送

    使用redis模拟手机验证码发送,规定一个手机号一天只能请求三次验证码,且每次请求的验证码只有两分钟就会过期 1.首先写一个函数随机产生六位验证码,使用random函数 //随机生成六位验证码publ ...

  2. html用接口实现手机验证码发送,编写程序软件怎样才能实现向手机号码发送验证码?需要调用哪些接口?...

    给你个思路: 其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口 发送手机验证码,要求具有如下功能需求.业务逻辑: (1).用户输入手机号,当输入的手机号码为空时,提示,并且要 ...

  3. python --- 短信接口开发手机验证码发送

    现在网络环境下,基本上任何网站注册都会验证手机号,已达到防止机器人注册的目的.除此之外短信群发,查询回复,找回密码等相关功能也需要短信验证码功能.那么网站的验证码发送是如何实现的呢?现在我们学习一下( ...

  4. 公众号 接收手机验证码发送给用户

    要实现将网站的验证码绑定到公众号上,可以按照以下步骤进行: 在公众号后台开发者中心中,配置好公众号的服务器地址和验证token. 在网站的验证码接口中,将验证码发送到公众号的服务器地址上,并将验证码内 ...

  5. 登录注册时手机验证码发送的实现

    短信验证 首先需要通过个人账户获得 授权码(id.密码),再通过这些信息获得服务通过对阿里云网址 : https://www.aliyun.com/获得短信发送的权限(sms): 登录 / 注册 阿里 ...

  6. 关于SSM发送手机验证码

    关于手机验证码发送的那些事. 首先写一个封装类来接收传过来的数据如下代码 package com.lsj.util; import java.io.BufferedReader; import jav ...

  7. 手机验证码平台,怎么发送手机验证码,php开发手机验证码短信接口功能

    通过前面的学习, 你已经掌握怎么在腾讯短信平台上设置项目, 添加短信签名, 设置短信模板, 把手机验证码注册页面写好. 今天子恒老师来跟你分享怎么实现发送手机验证码给用户, 注意我们使用的是php开发 ...

  8. Spring boot 发送手机验证码

    由于阿里云现在的短信签名无法通过申请,所以我这里选择了中国网建SMS短信平台(手机号注册即用,有免费赠送的几条短信测试) demo代码地址:https://github.com/mer97/sprin ...

  9. django 手机验证码获取

    注册已经完成的逻辑 之前我做了图片验证码的逻辑,然后为了完成注册,我需要再让用户验证一次手机号码. 为了验证手机号码,我必须获取用户的手机,还需要先验证图片验证码.所以在发送手机验证码之前,我需要先验 ...

最新文章

  1. 资源 | 4天学会PyTorch!香港科技大学开放PyTorch机器学习课件资源
  2. 10个数冒泡排序流程图_(立下flag)每日10道前端面试题01
  3. golang用户认证
  4. 今天,神策数据官网银行 Demo 正式上线!
  5. 55种网页常用小技巧(转载)
  6. dos命令行设置网络优先级_替代windows系统下cmd的10款命令行工具
  7. apache mysql python win10_Win10 MySQL-python
  8. 創建oracle用戶及表空間,window,linux下創建oracle用戶及表空間 對比 易於學習
  9. GWT HTML editor
  10. 数学基础知识02——常用积分公式
  11. 阿里巴巴Java开发手册(终极版)
  12. C++操作系统注册表读取默认键值
  13. 电视hdmi接口在哪_HDMI是什么意思?花5分钟看完这篇文章:原来如此!我现在明白了...
  14. 各式各样的计算机教学设计,7. 各式各样的椅子教案设计(一等奖)
  15. 深圳小汽车车牌竞拍价格预测
  16. HTML没有随手机静音,华为手机静音找不到?这个功能设置好,喊一声就可以找到!...
  17. 如何用arcgis分析点到点的距离
  18. [NOIP 模拟]疫情延迟 二分+Spfa
  19. 16年蓝桥杯第九题-交换瓶子
  20. 利用ADS、HFSS设计微带带通滤波器的设计日志

热门文章

  1. 【校招VIP】秋招进行中,时间来不及?简历投递过不去?你需要有特色亮点的项目
  2. jQuery 遍历祖先元素
  3. 在线考试系统(二)前端项目搭建
  4. Unity 3D - UGUI 自适应文本框
  5. linux下rsync+inotify同步文件
  6. 【知识分享】删除我的电脑中的顽固图标
  7. SQL多表查询(设置别名)
  8. for in,for of,Object.keys()
  9. python+openCV一键换底色,不同底色自动判断
  10. 利用深度学习算法,一键抠图制作证件照