Demo代码已放上GitHub,实现登录短信校验+极验验证

https://github.com/ChenJhua/TestLogin

  • 打开网站互亿无线注册一个账号,有50条免费短信
  • 登录进去后会有以下页面

  • 使用图中的APIID和APIKEY开启你的免费手机短信旅程,可以使用接口下载、接口帮助实现Django手机短信验证

开始我的短信教程

1.注册页面加入两个文本框

               <li><label for="">手机号码:</label><input type="text" placeholder="11位数的手机号码" id="mobile" name="mobile"/><span class="error_tip">提示信息</span></li><li><label for="">验证码:</label><input type="text" name="code" placeholder="请输入手机验证码" style="width: 140px;">&nbsp;&nbsp;<input type="button" value=" 获取验证码" id="zphone" style="width: 100px;margin-left: 10px"></li>

在models.py中定义手机号码字段:

    # 不要定义int型,否则存不进数据库,会报错,Out of range# 建议使用char类型uphone = models.CharField(max_length=11)

2.使用js+ajax请求短信发送和按钮计时触发

    $('#zphone').click(function(){//发送验证码$.get('/user/send_message', {mobile:$('#mobile').val()}, function(msg) {alert(jQuery.trim(msg.msg));if(msg.msg=='提交成功'){RemainTime();}});})//按钮倒计时var iTime = 60;sTime = ''function RemainTime(){if (iTime == 0) {document.getElementById('zphone').disabled = false;sTime="获取验证码";iTime = 60;document.getElementById('zphone').value = sTime;return;}else{document.getElementById('zphone').disabled = true;sTime="重新发送(" + iTime + ")";iTime--;}setTimeout(function() { RemainTime() },1000)document.getElementById('zphone').value = sTime;}// 检查用户输入的手机号是否合法function check_mobile() {var re = /^1[345678]\d{9}$/; //校验手机号if(re.test($('#mobile').val())){$('#mobile').next().hide();error_mobile = false;document.getElementById('zphone').disabled = false;}else{$('#mobile').next().html('你输入的手机格式不正确')$('#mobile').next().show();error_mobile = true;document.getElementById('zphone').disabled = true;}}

3.配置url

    url(r'^send_message$', views.send_message, name='send_message'),

4.定义发送短信的视图函数

# 请求的路径
host = "106.ihuyi.com"
sms_send_uri = "/webservice/sms.php?method=Submit"
# 用户名是登录ihuyi.com账号名(例如:cf_demo123)
account = "C44****38"
# 密码 查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY
password = "ddd**************30 "def send_message(request):"""发送信息的视图函数"""# 获取ajax的get方法发送过来的手机号码mobile = request.GET.get('mobile')# 通过手机去查找用户是否已经注册user = User.objects.filter(uphone=mobile)if len(user) == 1:return JsonResponse({'msg': "该手机已经注册"})# 定义一个字符串,存储生成的6位数验证码message_code = ''for i in range(6):i = random.randint(0, 9)message_code += str(i)# 拼接成发出的短信text = "您的验证码是:" + message_code + "。请不要把验证码泄露给其他人。"# 把请求参数编码params = urllib.parse.urlencode({'account': account, 'password': password, 'content': text, 'mobile': mobile, 'format': 'json'})# 请求头headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}# 通过全局的host去连接服务器conn = http.client.HTTPConnection(host, port=80, timeout=30)# 向连接后的服务器发送post请求,路径sms_send_uri是全局变量,参数,请求头conn.request("POST", sms_send_uri, params, headers)# 得到服务器的响应response = conn.getresponse()# 获取响应的数据response_str = response.read()# 关闭连接conn.close()# 把验证码放进session中request.session['message_code'] = message_codeprint(eval(response_str.decode()))# 使用eval把字符串转为json数据返回return JsonResponse(eval(response_str.decode()))

Python3版本Django实现免费手机验证码注册相关推荐

  1. Python3版本Django实现免费极验验证码

    Demo代码已放上GitHub,实现登录短信校验+极验验证 https://github.com/ChenJhua/TestLogin 1.先到极验验证网站注册一个账号,登录上去 2.创建应用 3.出 ...

  2. springboot整合redis之用户手机验证码注册登录

    目录 1搭建项目开发环境 1.1安装redis 1.1.1下载redis 1.1.2安装redis 1.1.3设置redis为windows服务 安装为windows服务 1.2启动idea 1.3增 ...

  3. 手机验证码注册,登录

    //前端登录页面表单及javascript+ajax传输 <input type="text" name="nickname"  placeholder= ...

  4. 使用容联云通讯实现手机验证码注册

    添加Pom文件以及下lib下添加jar包 添加main方法测试,发送手机验证码 package javamaildemo;import java.util.HashMap; import java.u ...

  5. Security实现手机验证码注册登录

    准备工作: <!-- 导入security依赖 --> <dependency><groupId>org.springframework.boot</grou ...

  6. 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)

    文章目录 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现) 1.打开腾讯云短信服务 2.创建短信签名 3.创建短信正文模板 4.等待全部审核完毕即可 5.发送短信 ...

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

    flask创建手机验证码发送逻辑 同样的,回顾django中使用手机验证码的逻辑,大致可以分为几步 1.获取用户手机号码 2.校验手机号码 3.生成验证码 4.将验证码添加手机号查询方式添加到redi ...

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

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

  9. 多因素身份认证 (MFA) 插件:手机验证码认证因素配置流程

    功能介绍 对用户表扩展手机号码字段,允许用户通过手机号码与验证码的方式进行认证,注册,重置密码以及更换手机号. 多因素身份认证 (MFA) 是保护企业 IT 资源访问安全的一种关键工具,也是零信任安全 ...

最新文章

  1. 基于锚框与无需锚框的通用物体检测算法
  2. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)
  3. C++文件交互(txt、excel)
  4. linux nginx 配置优化,nginx 配置优化指令
  5. 利用HTML5 LocalStorage实现跨页面通信channel
  6. python练习题及答案-python编程练习题和答案.doc
  7. 腾讯云启动 tomcat 很慢的问题
  8. EasyRecovery如何恢复CMake项目文件
  9. Java8 实战系列-01-序章
  10. 北京邮电大学计算机考研经验分享
  11. 调用restFul接口如何实现返回的数据编码格式为utf-8
  12. H5和原生开发的区别
  13. iphone及ipad屏幕尺寸参考
  14. win10 程序最小化不在任务栏了?在左下角
  15. 自动化学科国家自然基金委十二五规划 2009年12月
  16. Qualcomm QTV Player
  17. 算法初探系列4 - 广度优先搜索之图上搜索
  18. 网页设计怎么都不会错的6条配色原则。
  19. Win10系统将桌面从C盘移动到其他盘的方法
  20. T/CMSA 0027-2022 区域陆地碳汇评估技术指南

热门文章

  1. 图解NodeJS【基于事件、回调的单线程高性能服务器】原理
  2. 计算机毕业设计django基于python学生考试成绩数据分析与可视化系统(源码+系统+mysql数据库+Lw文档)
  3. Burpsuite 使用教程
  4. 利用公网IP访问部署在阿里云服务器的spring boot项目(一)
  5. 教你一招设计图纸不被外泄的方法
  6. Kali Linux 安装Nvidia显卡驱动(二)CUDA, Pyrit and Cpyrit-cuda
  7. chrome 浏览手机网站
  8. 了解WiFi的原理、工作原理以及相关的标准。
  9. markdown左对齐
  10. 白平衡测试—imatest