今天给大家操作如何给网站增加短信验证码登录功能,实际操作非常简单,对照文档15分钟就可以完成接入。

需要准备资料有:登录页面(html页面)、短信接口参数、服务端

特别说明:因为闪速码接口支持个人、企业使用,而且可以免费试用200条,所以短信接口采用闪速码(自行百度)

大致流程如下

1、构造随机数字:使用random对象生成要求的随机数作为验证码,例如6位验证码:100000~999999之间随机数;

2、使用接口向短信平台发送手机号和验证码数据,然后短信平台再把验证码发送到用户输入的手机号上,接口参数一般包括:目标手机号,随机验证码(或包含失效时间),平台接口地址,平台口令;

3、保存接口返回的信息(一般为json文本数据,然后需转换为json对象格式);

4、将手机号--验证码、操作时间存入Session中,作为后面验证使用;

5、接收用户填写的验证码及其他数据;

6、对比提交的验证码与Session中的验证码是否一致,同时判断提交动作是否在有效期内;

7、验证码正确且在有效期内,请求通过,处理相应的业务。

前端主要代码:

function getVlidCode(){var username = $("#username").val();//将用户名作为session存储的keyif (flagT){$.ajax({type:"GET",async: false,data:"username="+username,url:projectName+"/userAction/getVerifYCode.do",success:function(date){if (date == 1) {chengeviyfValue();}}});}
}

后端主要代码:

1.从闪速码官网下载node.js的sdk文件,引入sendsms.js这个文件到项目根目录

2.修改配置文件,填写接受手机号、APPID等参数就可以完成接入

var http = require('http');var Sms = require('./sendsms.js');
// 创建实例var code = '1234';  //验证码
var mobile = '18616695689';  //接收短信手机号码,如果多个手机号用逗号间隔var app_id = '开发者ID,在【设置】-【开发设置】中获取';
var secretKey = '开发者密钥,在【设置】-【开发设置】中获取'; var template_sign = '短信签名 这里填写短信签名,不需要填写签名id';
var template_id = 'ST_2021092200001006';  //短信模板IDvar sms = new Sms();
var res = sms.getSendSmsData(app_id, secretKey, template_sign, template_id, mobile, code, URL);var req = http.get('http://api.shansuma.com/gateway.do' + res, function(res) {var sendresult = '';res.setEncoding('utf8');res.on('data', (chunk) => { //获取放回结果sendresult = chunk;});res.on('end', () => {console.log(sendresult);  //显示返回结果});}).on('error', function(e) { //错误console.log("Got error: " + e.message);});req.end();

「实操」用node.js开发短信验证码登录的功能相关推荐

  1. 怎么对接NODE.JS语言短信验证码接口?

    本文为您提供了NODE.JS语言版本的验证码短信接口对接DEMO示例 /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://us ...

  2. 还在开发短信验证码登录?试试(本机号码一键登录)

    点击上方蓝字关注我们 技术总监面试,提问:Redis热点key解决方案 一. 关于秒验(一键登录)基本原理 秒验(一键登录)产品整合了三大运营商特有的数据网关认证能力,升级短信验证码体验,应用于用户注 ...

  3. NODE.JS手机短信验证码代码实例

    本文为您提供了NODE.JS语言版本的短信代码demo /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://user.ihuy ...

  4. JS——实现短信验证码的倒计时功能(没有验证码,只有倒计时)

    1.功能描述 当用户想要获取验证码时,就点击 免费获取验证码 ,然后开始倒计时,倒计时期间按钮文字为剩余时间x秒,且不可按状态,倒计时结束后,按钮更改为点击重新发送. 2.分析 必须用到定时器.按钮点 ...

  5. 「跨域」利用node.js实践前端各种跨域方式(上)

    前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...

  6. nest.js + sms 实现短信验证码登录

    hi, 大家好, 我是徐小夕, 新的一年, 你又博学了吗? 今天和大家分享一下使用 nodejs 实现短信验证码登录的方案, 通过对该方案的实现大家可以可以对 nodejs 及其相关生态有一个更深入的 ...

  7. php调用nexmo发送短信,在 Laravel 中 “规范” 的开发短信验证码发送功能

    Laravel简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行 ...

  8. Java实现开发短信验证码的完整教程

    开发人员在开发网站注册.登录时经常需要用到短信验证码功能,下面小编就来详细介绍一下如何集成这个功能. 下面以使用榛子云短信为例: 1. 首先注册一个榛子云账号,注册地址: http://sms_dev ...

  9. 手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)

    短信验证码登录功能 项目分析 核心代码 1.外部js库调用 2.HTML容器构建 3.javaScript业务逻辑验证 4.后端验证逻辑 总结 短信验证码是通过发送验证码到手机的一种有效的验证码系统, ...

最新文章

  1. php mysql 连接不上_PHP: 连接状态 - Manual
  2. 金属表面划痕检测Halcon
  3. OpenAI逆炼以文生图:参数缩水2/3性能却更强,还get局部编辑新技能|可试玩
  4. mysql mongodb qps_极高的QPS - DynamoDB与MongoDB相比其他noSQL?
  5. VGG-16 prototxt
  6. 使用brew cask安装minikube的各种错误和解决方法
  7. LeetCode 454. 四数相加 II(哈希)
  8. Java IO类库之CharArrayWriter
  9. Apache(httpd) 报错You don't have permission to access /on this server.
  10. 已有记录表添加特定排序主键ID
  11. 导入项目后资源文件乱码---eclipse插件properties Editor安装
  12. 压缩软件能否加上忽略某些目录的功能
  13. android nfc模拟器,NFC Emulator下载
  14. 材料成型及控制工程学计算机吗,材料成型及控制工程专业属于什么学科
  15. 宏碁台式计算机u盘启动,Acer台式机怎么U盘启动
  16. JAVA跑步计时器app_坚持跑步神器app
  17. 【数学】弧度和角度的转换
  18. 完整的十字架(漫画)
  19. redis基数树rax源码分析(1)
  20. 高德地图轨迹回放、点的弹跳效果、浏览器环境监测、设置地图的主题样式、GPS坐标转为高德坐标、地图加载提示、地图DOM事件、修改图层等API接口

热门文章

  1. Larry-文章待读列表
  2. (附源码)ssm历史大记事收录平台 毕业设计 231157
  3. 用Python学《微积分B》(微分中值定理与洛必达法则)
  4. 【招聘(广州)】成功易(广州).Net Core中高级开发工程师
  5. 环保数据监测平台系统
  6. 算法导论/第一部分_基础知识
  7. Android:week 9总结 Activity生命周期
  8. php http_client_ip,php获取客户端ip get_client_ip()使用教程
  9. 数模设计和GND的分割设计
  10. Android studio心得——用fragment仿微信APP