IOSOR 知识库
生产 OTP 之前的速率限制
在预付费钱包耗尽前,通过身份、目的地和时间窗口对生产 OTP 进行速率限制和冷却控制,并提供诚实的限额状态。
在未配置自动化速率限制的情况下上线生产 OTP,会导致 Messaging 余额因国际流量欺诈和机器人攻击而被瞬间消耗。您必须针对目标号码、客户端 IP 和设备指纹实施严格的分层频率控制,以便在产生运营商费用之前拦截高频发送。这些限流门控需与 OTP 的 TTL 与重发冷却 机制联动,而非替代 OTP送达借记与验证会话两笔账 的 ledger 逻辑。同时配合 OTP 滥用防御:买家路径的首道控制措施、生产流量前的钱包止损线 以及 OTP 滥用、时延与成本护栏 来全面保障资金安全。
速率与 TTL 的区别
TTL(Time-To-Live)决定了 OTP 代码在系统中的有效存活时间,即用户可以在多长时间内使用该代码进行验证。而速率限制(Rate Limiting)则关注的是在特定时间窗口内,某个身份(如用户账户、设备 ID)或某个目的地(如国家/地区代码、运营商)可以发起的 OTP 生成请求的总数量。重发冷却机制(Resend Cooldown)是在用户请求重发 OTP 时引入的时间延迟,以防止用户频繁点击重发按钮。速率限制的目的是防止在短时间内产生过多的 OTP 生成意图,从而避免资源浪费和潜在的滥用。混淆 TTL 和速率限制会导致在遵守代码有效期的同时,却意外耗尽预付费钱包。因此,必须同时配置并保留这两种机制,并在系统状态中明确注明触发了哪种门控机制。
按身份、目的地和窗口限制
| 限制项 | 窗口问题 | 关闭失败意味着 |
|---|---|---|
| 按身份/账户 | 每小时多少 OTP 意图? | 诚实限流,拒绝发送新请求 |
| 按目的地类别 | 高成本通道突发? | 通道阻塞,切换到备用通道或拒绝 |
| 按 IP/设备族 | 机器人式生成? | 触发验证挑战(如验证码)或直接拒绝请求 |
| 钱包止损线 | 支出超过预设上限? | 持有拒绝发送所有 OTP 请求,直到钱包充值 |
在 IOSOR 控制台中,可以为每个限制项配置具体的阈值和时间窗口。例如,可以设置每个账户每小时最多发送 10 个 OTP,或者限制向高成本目的地发送 OTP 的频率。当请求触发了任何一个速率限制规则时,系统会记录并导出触发的限制 ID,以便进行审计和分析。接近 1,000 美元/月的软审查意味着,如果缺乏有效的速率限制,生产环境中的无限制 OTP 生成将迅速累积成本,形成生产债务。仅用 20 美元进行速率试点,可以验证小规模通道的限制策略是否有效。钱包止损线是另一层重要的成本控制机制,确保预付费钱包的支出不会超出预设上限:生产流量前的钱包止损线。
在上线前设置生产 OTP 门控
在速率限制策略的草案阶段,切勿将生产 OTP 流量标记为“已上线”。单一的“快乐路径”测试通过并不能证明速率限制的安全性。上线前必须满足以下要求:首先,必须在 IOSOR 控制台中详细配置所有必要的速率限制规则,包括按身份、按目的地、按 IP 地址等维度。其次,必须进行严格的关闭失败(Fail-Closed)测试,模拟流量突发情况,验证速率限制是否能如预期般拒绝超额请求,并返回诚实的限额状态。第三,需要配置导出机制,能够清晰地显示触发了哪个具体的限制规则 ID。第四,财务团队需要能够将这些被限制的 OTP 请求与钱包余额或预设的持有关联起来,以便进行成本核算和风险管理。只有当所有这些条件都满足时,才能认为速率门控已准备就绪,可以安全地将 OTP 管道推向生产环境。诚实的启动流程至关重要:当上线受阻时:诚实的运行状态。首道防线:OTP 滥用防御:买家路径的首道控制措施。
产品与财务的诚实限额状态
当速率限制被触发时,系统必须向产品和财务团队提供清晰、诚实的限额状态。这意味着,被限制或拒绝的 OTP 请求,其状态必须明确显示为“受限”(Limited)或“拒绝”(Rejected),绝不能被误报为“已送达”(Delivered)或“静默丢弃”(Silently Dropped)。产品和财务团队需要共享一套统一的状态语言,以避免混淆和误解:产品与财务的共享状态语言。重要的是,即使使用相同的幂等键(Idempotency Key)进行重试,也不能绕过已生效的速率限制。此外,OTP 的送达计费与验证会话的计费是两个独立的概念,需要保持清晰的区分:OTP送达借记与验证会话两笔账。这种透明的状态反馈机制是确保成本控制和用户体验平衡的关键。
速率限制买家检查清单
- 生产 OTP 流量上线前,是否已配置按身份(账户 ID)和按目的地类别(如国家代码、运营商)的速率限制规则?
- 是否通过模拟流量突发进行了关闭失败(Fail-Closed)测试,并验证了速率限制返回诚实的限额状态(拒绝超额请求)?
- 系统是否配置了导出功能,能够命名并记录触发的每个速率限制规则 ID?
- 在速率限制策略草案阶段,是否明确阻止了将 OTP 路由标记为“已上线”的状态?
- 钱包止损线(Wallet Stop Lines)是否已配置,并与速率限制策略并行生效,作为额外的成本保护层?
- 覆盖设置(Override Settings),例如用于临时放宽限制的设置,是否已命名、有时限,并且可以通过受限的烟雾测试(Smoke Test)进行关闭或撤销?
任何一项检查结果为“否”,都意味着当前的速率门控机制尚未准备好上线,需要继续在草案状态下进行完善和测试。
从 IOSOR 开始
要开始实施生产 OTP 之前的速率限制,请首先打开 IOSOR 控制台。在将 OTP 管道正式推送到生产环境之前,您需要仔细配置跨越不同维度(如用户身份、目标通道、IP 地址范围)的速率上限规则。配置完成后,执行模拟突发测试,以验证速率限制是否能够通过 Webhook 实时、准确地返回“受限”或“拒绝”的状态。确保您的部署流程(Deployment Pipeline)能够阻止生产状态的变更,直到每个意图窗口(Intent Window)的故障关闭(Fail-Closed)逻辑都得到正确执行和验证。这包括配置 DLR(Delivery Report)的相应处理,以确保即使在限制情况下也能获得准确的送达报告,或者在被拒绝时能明确知晓。
IOSOR 要点
本文档的核心论点是,仅依靠 TTL(Time-To-Live)机制无法充分保护您的 OTP 管道免受高成本意图突发的攻击。有效的路由保护策略需要将不同的速率上限映射到具体的账户、目标通道以及 IP 系列,并在流量真正到达生产环境之前强制执行硬性停止线。当触发速率限制时,系统必须返回明确的“受限”状态,并导出触发的确切上限名称。切勿将 TTL 与速率限制混淆,更不能在速率保障策略仍处于草稿状态时,就将 OTP 路由标记为“已上线”。此外,IOSOR 支持通过 Webhook 接收 DLR 更新,以及配置 OTP 的“安静时间”(Quiet Hours),以避免在特定时段内发送 OTP,进一步优化成本和用户体验。在配置速率限制时,务必考虑这些高级功能,以构建一个健壮且经济高效的 OTP 发送系统。
这篇指南有帮助吗?
相关指南
- 在工程团队交接期间转移欺诈阈值规则
在平台团队过渡期间审查运营速度阈值与警报联系人,以维持对滥用行为的持续防护。 — 在工程团队交接期间转移欺诈阈值规则
- 在试点阶段设置目的地陷阱以检测自动化刷量
在初始试点流量测试期间部署虚拟目的地触发器,以捕获自动脚本并在全面生产发布之前防止欺诈性刷量。通过战略性蜜罐保护您的平台。
- 通过精细化前缀白名单规则恢复安全流量规模
了解如何在发生欺诈事件后,通过实施严格的前缀白名单、JIT号码分配以及监控IOSOR系统内的USD阈值来安全地恢复短信流量。