有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 短信 > 最佳实践 > 如何实现短信验证码功能
通过手机短信发送验证码,是应用验证用户真实身份的常用方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。 本文以用户通用发送验证码为例,帮助您了解如何实现短信验证码功能。

准备工作

注册腾讯云 账号,并完成 企业实名认证
购买 短信套餐包。
准备短信签名归属方资质证明文件,详细的文件清单以及规范请参见 签名审核标准
本文以使用企业营业执照作为资质证明文件为例。了解短信正文内容审核规范,详情请参见 正文模板审核标准
已获取短信应用的 SDKAppID。




步骤一:配置短信内容

国内短信由签名+正文组成,签名符号为【】(注:全角),发送短信时,必须选择签名+正文模板; 短信签名、短信正文模板提交后,我们会在2个小时左右完成审核,您可以 配置告警联系人 并设置接收模板和签名审核通知,便于及时接收审核通知。

创建签名

1. 登录 短信控制台
2. 在左侧导航栏选择国内短信 > 签名管理,单击创建签名
3. 结合实际情况和 短信签名审核标准 设置以下参数:
参数
取值样例
签名用途
自用(签名为本账号实名认证的公司、网站、产品名等) 他用(签名为非本账号实名认证的公司、网站、产品名等)
签名类型
例如:公司、APP、网站、公众号、小程序等
签名内容
用于判别签名所属公司或个人
其他证明材料
App 任一应用商店的展示页链接、已备案的网站域名等
4. 单击确定。等待签名审核,当状态变为已通过时,短信签名才可用。

创建正文模板

1. 登录 短信控制台
2. 在左侧导航栏选择国内短信 > 正文模板管理,单击创建正文模板
3. 结合实际情况和 短信正文模板审核标准 设置以下参数:
参数
取值样例
模板名称
验证码短信
短信类型
普通短信
短信内容
您的注册验证码:{1},请于{2}分钟内填写,如非本人操作,请忽略本短信。
4. 单击确定。 等待正文模板审核,当状态变为已通过时,正文模板才可用,请记录模板 ID。

步骤二:代码随机生成验证码

用户在应用(注册、登录、身份验证等)具有验证码业务的界面点击获取验证码,应用需要在后端随机生成验证码,用于验证身份。验证码的时效性要求较高,您可以把验证码存在内存中或存在云数据库中。以手机号作为 key,存储发送时间、验证码、验证次数、是否已验证过等信息。
注意
验证码短信,模板变量(验证码)的实际内容仅支持0 - 6位(包括6位)纯数字。 您可以参考腾讯云云函数的短信验证码模板实现,代码可参考(Nodejs):短信验证码登录

步骤三:调用SendSms接口发送验证码短信

用户可以使用短信接口SendSms进行发送,调用接口的详细文档可查看 发送短信,也可以通过API Explorer进行可视化调用,自动生成代码用于业务。


步骤四:接收验证码并核验

用户收到短信验证码后,在规定时间内,在应用页面(注册、登录、身份验证等)填写具体的验证码。
用户后端服务收到用户输入的验证码后,比对内存中或存在数据库中的验证码。若验证码校验成功,将验证码更新为已使用并执行应用后续操作;若验证码校验失败,前端返回错误,提醒用户检查验证码的正确性。
您可以参考腾讯云云函数的短信验证码模板实现,代码可参考(Nodejs):短信验证码登录
说明
短信轰炸(被盗刷)通常发生在验证码短信场景,建议提前配置好短信防盗刷措施,具体可参考 如何预防短信轰炸(盗刷)