tencent cloud

短信

文档短信实践教程如何实现短信验证码功能

如何实现短信验证码功能

下载
聚焦模式
字号
最后更新时间: 2026-06-18 11:37:40
通过手机短信发送验证码,是应用验证用户真实身份的常用方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。
本文以用户通用发送国际/港澳台短信验证码为例,帮助您了解如何实现短信验证码功能。

准备工作

注册腾讯云 账号,并完成 企业实名认证
购买 国际/港澳台短信套餐包。
建议申请 Sender ID:国际/港澳台短信通常使用 Sender ID(发件人)来向收件人标识自己品牌,而非短信签名。未注册专属 Sender ID 会通过腾讯云通用 Sender ID 保证短信下发,但部分国家不支持通用 Sender ID,详情请参见 国际/港澳台短信 Sender ID 说明。申请 Sender ID 请登录控制台,在 国际港澳台短信 > Sender ID 管理 处提交注册申请。
海外短信不强制需要签名,如果需要在内容显示品牌名,建议直接在短信模板内加上。国际/港澳台短信签名符号为[](注:半角),发送短信内容时可以带或不带签名,了解签名审核标准。申请签名请登录控制台,在 国际港澳台短信 > 签名管理 处提交创建申请。
了解短信正文内容审核规范,详情请参见 正文模板审核标准
已获取短信应用的 SDKAppID
国际/港澳台短信验证码发送实现流程
国际/港澳台短信验证码发送实现流程


步骤1:配置短信内容

短信正文模板提交后,我们会在2个小时左右完成审核,您可以 配置告警联系人 并设置接收模板审核通知,便于及时接收审核通知。

创建正文模板

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

步骤2:设置短信发送限额与频率限制(可选)

设置短信日发送限额(账号级)

单个腾讯云账户的国际/港澳台短信日发送量有限额,当前新用户开通后,默认日限额为100条(提交计费条数)。您可登录 短信控制台 ,在概览 > 国际港澳台短信 > 日发送限额(账号级)处进行限额调整。

设置短信发送频率限制(应用级)

为了保障业务和通道安全,减少业务被刷后的经济损失,短信默认的频率限制策略为:
同一号码同一内容30秒内最多发送1条。
同一手机号一个自然日最多发送2条。
您可登录 短信控制台,在应用管理 > 基础配置 > 发送频率限制处设置短信发送频率限制,详情请参见配置基础信息
注意:
2024年5月22日之前创建的应用,同一手机号一个自然日默认频率为最多发送10条。
运营商限频规则:同一号码营销短信3条/天;同一号码非营销短信10条/天。
个人认证用户频率设置有最高限制,对同一个手机号,30s、1小时、1个自然日最高可设置分别为1条/30秒、5条/小时、10条/天。

设置短信日发送限额与可发送国家/地区(应用级)

除了账号级的短信发送限额,您还可设置应用级的短信发送限额。登录 短信控制台,在应用管理 > 基础配置 > 国际/港澳台短信阈值设置处,您可设置当前应用的日发送限额值。在应用管理 > 基础配置 > 国际/港澳台短信可发送国家/地区设置处,您可设置当前应用能发送短信的目标国家/地区,并对每个国家/地区设置日发送限额值。详情请参见 配置基础信息

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

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

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

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


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

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


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈