通过手机短信发送验证码,是应用验证用户真实身份的常用方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。
本文以用户通用发送国际/港澳台短信验证码为例,帮助您了解如何实现短信验证码功能。
准备工作
海外短信不强制需要签名,如果需要在内容显示品牌名,建议直接在短信模板内加上。国际/港澳台短信签名符号为[](注:半角),发送短信内容时可以带或不带签名,了解签名审核标准。申请签名请登录控制台,在 国际港澳台短信 > 签名管理 处提交创建申请。 步骤1:配置短信内容
短信正文模板提交后,我们会在2个小时左右完成审核,您可以 配置告警联系人 并设置接收模板审核通知,便于及时接收审核通知。 创建正文模板
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):短信验证码登录。