短信验证码工作原理

简介: 当我们在注册各大网站或APP时,通常需要输入验证码来确认身份。验证码是这些平台采用的一种机制,旨在确保用户的安全。那么问题来了:短信验证码在网络上的运作过程是怎样的呢?

当我们在注册各大网站或APP时,通常需要输入验证码来确认身份。验证码是这些平台采用的一种机制,旨在确保用户的安全。那么问题来了:短信验证码在网络上的运作过程是怎样的呢?

 

当用户点击获取验证码后,短信验证码的内部运作过程如下:

1. 首先系统代码会使用【随机函数】生成一个验证码,可以自定义长度(一般为4或6位)。

2. 然后调用短信运营商的接口,发送手机号和验证码短信内容给短信平台。

3. 短信运营平台对信息进行初步审核,根据号码归属,将其发送给三大运营商之一。

4. 运营商网关进行最终审核,再将短信信息发送到用户手机上。

5. 网站或APP保存接口返回的信息。

6. 服务器将这些返回的信息存储在会话控制器Session中,以备后期验证使用。

7. 然后用户填写验证码,网站或APP接收用户填写的验证码信息。

8. 服务器检查用户提交的验证码是否与会话控制器Session中的信息匹配。如果匹配,则验证通过,否则验证失败。服务器还可以同时检查信息的失效时间。

 

简单来讲,就是说,在APP或者网站系统对接了短信验证码接口后:

1. 用户点击触发短信,发送了一个特定的验证码数字串。

2. 同时,这个验证码数字串就是APP或者网站一个暗号。

3. 当用户短信收到这个验证码数字串后,正确填入到APP或者网站系统里,那就对上了,可以注册登录。

 

 

【短信验证码接口】阿里云对接流程说明

对接步骤

1. 您先购买【免费测试套餐

2. 从管理控制台获取【AppCode

3. 从【短信验证码商品详情页】获取请求示例、调用地址、请求参数进行对接(见下图)

4. 设定业务参数判断(见下列说明)

5. 短信模板使用介绍

 

image.png

阿里云详情页API接口信息

 

业务参数设定:

l 当 http响应状态码为200 时,status参数返回OK即调用接口成功

l 当 http响应状态码为400 时,status参数返回INVALID_ARGUMENT,表示传参错误,请检查传参格式或内容。

 

短信模板使用介绍

为确保客户的短信能正常下发,我们规范了短信模板的格式,短信文案中,少量字数需要更换的文字,通过传参的方式传入值。相同不变的文字部分,就固定成模板。

比如:【深智恒际】您的验证码是:%{code},有效期5分钟
验证码数字3245是需要更换的文字,那就通过code参数传值。其他的都固定成模板

 

所以,我们的短信模板,是将签名与文案固定在一起,用一个模板ID代表它。

需要变化的关键信息,以传参的方式传入值。例如:

模板ID:TPL_0001

【签名】您的验证码是:%{code},有效期%{expire_at}分钟。

传参时,填入「变量参数及值 、手机号码 、模板ID」 即可,多个变量参数,以半角逗号 , 分隔开。

示例:

image.png

模板添加:请直接联系客服,提供短信文案和营业执照进行报备签名,添加自定义短信模板

 

 

postman工具调试

小办法:

在使用阿里云提供的请求示例对接过程中,如果遇到困难,可以尝试使用postman调试,调通后导出code直接使用。

Postman调试简单,非技术人员,平常也可以使用postman调用接口,核验相关信息

 

Postman【下载

1.将AppCode放在Header中

请求Header中添加的Authorization字段;配置Authorization字段的值为“APPCODE + 角空格 +APPCODE值”。

 

示例如下:

Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301

image.png


2.配置body参数:

请求体格式选择:

'Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'

 

body参数设置:参考商品详情页api信息:

image.png

接口调通后,点击code,进行导出代码

 

 

3.导出代码(如有需要,直接导出使用)

选择你所需要的代码类型,整段复制代码使用即可

image.png

相关文章
|
安全 Java API
阿里云——Java实现手机短信验证码功能
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。
5796 6
阿里云——Java实现手机短信验证码功能
|
23天前
|
机器学习/深度学习 编解码 算法
无感验证码的工作原理
无感验证码是一种隐形的身份验证机制,通过分析用户行为(如鼠标移动、点击)和设备信息来辨别真实用户,防止机器人攻击。工作流程包括页面加载验证脚本、收集行为和设备数据、传输数据至服务器端进行分析、返回验证结果。示例代码展示了如何收集鼠标事件和设备信息,并发送到服务器。实际应用中,需采用更复杂算法和安全措施以确保安全性。
|
16天前
|
前端开发 算法 JavaScript
实现注册登录时数据的加密传输(含前后端具体代码)
实现注册登录时数据的加密传输(含前后端具体代码)
|
16天前
|
存储 前端开发 JavaScript
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
前端笔记_OAuth规则机制下实现个人站点接入qq三方登录
36 1
|
8月前
|
存储 NoSQL API
短信验证码的简单实现
短信验证码的简单实现
176 0
|
10月前
|
JavaScript API 容器
手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)
203 1
|
10月前
|
SQL 小程序 搜索推荐
微信小程序 获取 手机验证码 短信验证码 后端功能实现解析
微信小程序 获取 手机验证码 短信验证码 后端功能实现解析
595 0
微信小程序 获取 手机验证码 短信验证码 后端功能实现解析
|
12月前
|
小程序 JavaScript 开发者
小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序
529 0
|
12月前
|
小程序 JavaScript
借助云开发10行代码实现短信验证码的发送
借助云开发10行代码实现短信验证码的发送
|
安全 前端开发 机器人
短信验证码接口功能说明及调试教程
为了让您更清晰了解短信验证码接口的功能与使用。深智恒际特意列了以下5个方面,引导您便捷对接API接口。即使是非技术人员,也可以借用postman工具进行调试使用。 目录: 1. 短信验证码接口功能 2. 安全防御功能 3. 短信验证码接口对接流程说明 4. 接口使用场景 5. postman工具调试