跳转到正文
OmniChannels.ai

如何降低验证码短信成本:9 个有效做法

如何降低验证码短信成本:遏制短信盗刷和无效发送,优先使用 WhatsApp 身份验证并以短信兜底,并以“每位已验证用户成本”衡量效果。

更新于 10 分钟阅读

作者: OmniChannels.ai Editorial Team · 审阅: BroadNet Messaging Solutions Team

短信与验证码

简短回答

验证码支出会从这些地方流失:欺诈性请求(短信盗刷)、不必要的重发、发往您并不服务的国家,以及对本已可信的用户做验证。降低成本的办法是:在发送前设置机器人和限流控制、限定允许的目的地、缩短重试、先提供 WhatsApp 身份验证模板再用短信、对已识别的设备跳过验证,并跟踪每位已验证用户的成本,而不是每条消息的成本。

本页内容
  1. 验证码的支出究竟花在哪里?
  2. 什么是每位已验证用户成本?如何计算?
  3. 实际案例:一款类似网约车的应用
  4. 做法 1:在发出短信之前拦住机器人
  5. 做法 2:多维度限流
  6. 做法 3:设置目的地白名单
  7. 做法 4:设置支出熔断机制
  8. 做法 5:先提供 WhatsApp 身份验证模板,再用短信
  9. 做法 6:按用户而非按公司选择渠道顺序
  10. 做法 7:调整回退时机,避免重复付费
  11. 做法 8:减少验证次数,并更智能地验证
  12. 做法 9:通过更好的送达和体验减少重发
  13. 每月应衡量什么?
  14. 应避免哪些错误?
  15. OmniChannels.ai 如何提供帮助

要点速览

  • 真正重要的指标是每位已验证用户成本:验证码总支出除以实际完成验证的用户数。按条计算的成本会掩盖欺诈、重发和放弃。
  • 没有发出的消息最便宜。机器人检测、按号码和按设备的限流以及目的地白名单,可以去掉没有真实用户请求的付费发送。
  • WhatsApp 身份验证模板按 Meta 针对收件人所在市场的费率、按送达的消息计费;未送达的消息不计费。请根据您自己的价格指数和转化数据来比较两个渠道,而不是套用通用规则。
  • 渠道顺序既是成本决策,也是转化决策:只在用户很可能拥有的地方先试较便宜的渠道,并在短暂的送达确认超时后回退。
  • NIST SP 800-63B 将 PSTN 带外验证视为受限,并要求提供替代方式,所以多渠道设计也是更好的安全实践。

本指南面向大规模购买一次性验证码(OTP)的产品、研发和反欺诈团队,他们希望降低账单,又不影响注册转化。文中把验证码支出拆解为资金流失的各个环节,按我们建议的实施顺序给出九个做法,并说明如何衡量是否有效。这里不报任何价格;具体数字请查看您的合同和相关链接的价格页面。

验证码的支出究竟花在哪里?

验证码支出花在四个地方:真实的首次发送、重发和重试、发往您其实并不服务的目的地的流量,以及欺诈性请求。只有第一项是必要的,其他几项才是节省的空间。

成本类别 含义 如何查看 典型的杠杆
真实的首次发送 每次真实的用户操作发送一个验证码 最终完成验证操作的已发送验证码 更便宜的渠道,不需要时跳过
重发和重试 用户没有收到或没有输入验证码 每位已验证用户的发送次数大于1.0 更快的送达、更好的体验、回退时机
不服务的目的地 发往没有真实客户的国家的验证码 按国家的发送量与按国家的客户数对比 目的地白名单
欺诈(短信盗刷) 机器人向攻击者从中获利的号码触发验证码 按前缀统计已发送但从未输入的验证码 机器人检测、限流、支出上限

因此第一步是测量。提取一个月按国家划分的发送量,并与输入的验证码比较。我们的短信盗刷欺诈计算器可以根据您自己的请求量、转化率和费率,估算浪费的支出。

什么是每位已验证用户成本?如何计算?

每位已验证用户成本,是某一时期内验证码的总支出,除以该时期内完成验证的用户数。它是唯一包含欺诈、重试和放弃尝试的验证码成本指标。

每位已验证用户成本 =(已发送短信 × 短信成本 + 已送达 WhatsApp 消息 × WhatsApp 成本 + 其他渠道)÷ 输入有效验证码的用户数

请按国家和流程(注册、登录、支付)分别跟踪。两个配套比率可以解释它的变动:

  • 每位已验证用户的发送次数 = 已发送消息 ÷ 已验证用户。大于1.0意味着有重发、放弃或欺诈。
  • 验证转化率 = 已输入验证码 ÷ 已发送验证码。某个国家出现下降,是盗刷的第一个迹象。

实际案例:一款类似网约车的应用

“Najm Go”是一款虚构的应用,每月验证170,000名用户。改动之前,每个验证码都通过短信发送,用 s 表示一条短信的成本。改动之后,70%的验证从 WhatsApp 开始,用 w 表示一条已送达 WhatsApp 身份验证消息的成本。数字仅为示意,并非基准。

改动前 改动后
已验证用户 170,000 170,000
短信首次发送 170,000 51,000
WhatsApp 首次发送 0 119,000
重发和重试 28,000条短信 10,000条短信和7,000条 WhatsApp
已付费的盗刷请求 40,000条短信 4,000条短信
短信合计 238,000 65,000
WhatsApp 合计 0 126,000
每位已验证用户成本 1.40 s 0.38 s + 0.74 w

只要 0.74 w 小于 1.02 s,改动后就更便宜,也就是 w 低于 s 的约1.4倍时。换句话说,即使在某个国家 WhatsApp 消息比短信贵,欺诈和重发上节省的部分仍然可以让整个流程更便宜。请把 s 和 w 替换成您的合同费率和 Meta 针对您所在市场的费率;价格指数和成本估算器显示了各国的比例。

做法 1:在发出短信之前拦住机器人

在每个发送验证码的接口前加上机器人挑战或风险评分,因为没有发出的消息就是免费的。这包括注册、登录、密码重置、“给我发短信链接”和邀请表单。

MITRE ATT&CK 将短信盗刷列为技术 T1496.003,描述攻击者向自己控制的号码触发大量消息的行为。机器人防御是对付它的第一道防线。还要求请求来自有效会话或经过认证的应用安装。我们的短信盗刷欺诈防范指南深入介绍了各层防护。

做法 2:多维度限流

按手机号、按 IP 和网络、按设备和按会话限制验证码,并同时设置短窗口和长窗口。只限制单一维度,很容易被轮换该维度的攻击绕过。

可参考调整的起始策略:

  • 每个号码每小时可发少量验证码,并逐步拉长两次重发之间的间隔。
  • 每个号码设置每日硬性上限。
  • 每个设备和每个 IP 设置上限,对未认证流程应更低。
  • 单独的失败尝试限制。NIST SP 800-63B 规定,生成新密码不得重置失败尝试的计数。

做法 3:设置目的地白名单

只开通有真实用户的国家。新增国家需要业务申请。在已开通的国家内,对出现攻击模式的前缀进行拦截或挑战,并在高并发流程中发送前先用号码检测验证号码。

做法 4:设置支出熔断机制

按国家和接口设置每小时和每日的支出上限,当发送量超过正常水平的某个倍数时自动暂停该目的地,并通知人员复核。这样即使攻击突破了前面几层,账单也有上限。

做法 5:先提供 WhatsApp 身份验证模板,再用短信

对于有 WhatsApp 的用户,身份验证模板往往是更便宜的路径,而且驱动盗刷的短信落地费模式并不适用于它。在下结论之前,请针对自己的国家比较两个渠道。

Meta 文档中的事实:

  • 身份验证模板使用预设的文本,包含验证码、可选的安全提示,以及1至90分钟的可选有效期页脚。它们属于 Meta 的身份验证类别。
  • 按钮选项有复制验证码、一键自动填充,以及 Android 上的零点击。在 iOS 26 及更高版本上,键盘建议可以识别验证码;更早的 iOS 版本应使用复制验证码。
  • Meta 按送达的消息、依收件人所在市场的费率对身份验证消息计费,每个市场有每月发送量阶梯。身份验证没有每月免费额度,有些市场另有身份验证国际费率,所以请在 Meta 当前的价目表中确认您所在的国家。

我们的 WhatsApp 验证码与短信验证码指南说明了如何创建和发送模板。

做法 6:按用户而非按公司选择渠道顺序

最便宜的顺序,是与用户实际能收到验证码的地方相符的顺序。按用户很可能拥有的最低成本渠道排序,然后在短暂等待后回退。

信号 建议的首选渠道 回退
此前已通过 WhatsApp 验证的回访用户 WhatsApp 身份验证模板 短信
新用户,在您的用户群中 WhatsApp 使用率高的国家 WhatsApp,前提是用户输入的是可通过 WhatsApp 联系的号码 短信
新用户,没有渠道历史 短信 按需使用 WhatsApp 或语音
高风险请求(新设备、更换号码) 与账户已绑定的渠道 更强的校验,而不是再发一个验证码

语音验证码也可作为最后手段,价格可向我们的团队索取。请在渠道回退规则中建立这一顺序,并保持各渠道使用同一个验证码。

做法 7:调整回退时机,避免重复付费

只有在以秒计的短超时内没有收到送达确认时,才发送回退。如果 WhatsApp 消息已送达,就不要再发短信;如果没有送达,Meta 也不会计费。最多一次回退,两个渠道使用同一个验证码。

做法 8:减少验证次数,并更智能地验证

每一次可以安全跳过的验证,都是节省的一条消息。在注册时、新设备上、修改密码后以及高价值操作时索取验证码。对于会话有效的已识别设备,请改用记住设备的令牌或通行密钥。保留风险检查(异常行程、新 SIM 卡),这样跳过验证码也不会引发账户被盗。

NIST SP 800-63B-4 限制使用公共电话网络进行带外验证,并要求验证方保留其他类型的认证器可用,所以减少对短信的依赖不仅符合成本考虑,也符合安全指引。

做法 9:通过更好的送达和体验减少重发

重发是要付费的消息。减少重发的办法:

  1. 通过直连通道并附送达报告来投递,这样缓慢或无声的通道就会暴露出来。参见灰色通道与直连通道短信。
  2. 让短信保持在一个分段内,避免被拆分。例如中文验证码短信 【Najm】验证码:482915,5分钟内有效,请勿告知他人。 在 Unicode 下为31个字符(每段70个)。阿拉伯语版本 رمز نجم: 482915 صالح 5 دقائق. لا تشاركه مع أحد. 在 Unicode 下为47个字符(每段70个)。任何变体都可以在短信字数统计器中检查。
  3. 支持自动填充,例如验证码格式以及一键或复制验证码按钮,避免用户输错。
  4. 把有效期设得足够长,让真实用户来得及使用。NIST 要求带外密码在10分钟内过期;不要设得太短,导致用户不得不重新申请。
  5. 用收不到验证码排查来诊断用户投诉。

每月应衡量什么?

按国家和流程建立一个小型仪表盘,并在改动期间每周复查。

指标 公式 健康的方向
每位已验证用户成本 支出 ÷ 已验证用户 下降
验证转化率 已输入验证码 ÷ 已发送验证码 上升,各国稳定
每位已验证用户的发送次数 消息 ÷ 已验证用户 趋近1.0
WhatsApp 首次发送占比 WhatsApp 首次发送 ÷ 全部首次发送 在可触达的地方上升
回退率 回退 ÷ WhatsApp 尝试 稳定;突然升高意味着送达出了问题
被拦截的请求 被控制措施阻止的请求 激增说明遭到攻击

应避免哪些错误?

  • 在欺诈和重发占主导的账单上优化单条价格。
  • 攻击发生后才整国封禁,而不是事先设置白名单,这样会伤害身在国外的真实用户。
  • 为了“保险”同时发送短信和 WhatsApp,成本会翻倍。
  • 把有效期设得很短,导致重复申请。
  • 以为 WhatsApp 能触达所有人。 保留短信作为回退,并衡量可触达性。
  • 没有风险检查就取消验证,这等于用账户被盗的问题换掉成本问题。

OmniChannels.ai 如何提供帮助

OmniChannels.ai 由 BroadNet Technologies 提供技术支持,通过直连运营商的连接以短信发送验证码,也通过 WhatsApp 身份验证模板(一键、零点击和复制验证码)发送,具备可配置的渠道回退和统一格式的送达 webhook,便于您自行做成本报表。送达报告可以筛选并导出为 CSV。REST API 和 SMPP涵盖集成。请与团队沟通您所在的国家和发送量,并查看 WhatsApp 价格页面和各国短信价格了解公布的参考价目。

常见问题

如何降低验证码短信的成本?

先停止没人需要的付费发送:在每个发送验证码的接口上加入机器人检测和限流,只开通您服务的国家,并限制重发次数。然后把剩余的发送转到每位用户更便宜的渠道,例如 WhatsApp 身份验证模板,以短信兜底。每月衡量每位已验证用户的成本,看这些改动是否有效。

我的验证码账单中有多少是欺诈?

这取决于您的接口暴露的程度,也没有可靠的公开平均值,所以请自己测量。按国家和号码前缀比较发送的验证码与输入的验证码。某个目的地出现差距,而真实注册保持平稳,就是盗刷的特征。可以使用我们的短信盗刷欺诈计算器,根据自己的数据估算浪费的支出。

WhatsApp 验证码比短信验证码便宜吗?

可能更便宜,但取决于目的地,因为 Meta 按送达的消息、依收件人所在市场的费率和每月发送量阶梯对身份验证模板计费,而短信费率因国家和运营商而异。请在我们的价格指数中对您所在的国家比较两者,并把回退的发送量计算在内,因为没有 WhatsApp 的用户仍然需要短信。

最经济又安全的验证码长度和有效期是多少?

长度和有效期是安全设置,而不是成本杠杆。NIST SP 800-63B 要求带外密码至少为六位十进制数字,并在10分钟内过期。有效期较短会降低重放风险,但可能增加重发,而重发要花钱,所以请选择真实用户能轻松完成的最短窗口。

每次登录都应该用验证码验证吗?

不一定。可在注册时、新设备或修改密码等风险事件发生时,以及高价值操作时验证。对于会话有效的已识别设备,可以跳过验证码,或使用通行密钥(passkey)、基于应用的校验。每避免一次验证都能节省一条消息并减少摩擦,前提是您的风控仍能发现账户被盗。

从 WhatsApp 回退到短信会让成本翻倍吗?

只有两条消息都送达时才会。Meta 在身份验证消息送达时计费,所以没有送达的 WhatsApp 消息不收费。请等待送达确认或短暂超时之后再发送短信,最多只发送一次回退,并且使用同一个验证码,避免用户在两个码之间做选择。

资料来源

  1. WhatsApp Business Platform pricing, Meta for Developers
  2. Authentication templates, WhatsApp Business Platform, Meta for Developers
  3. NIST SP 800-63B-4: Authentication and Authenticator Management
  4. Resource Hijacking: SMS Pumping (T1496.003), MITRE ATT&CK