先看目标
这页不是教你“接通语音”,而是教你“接通后不被乱打”。
Voice Call 的风险主要集中在 webhook 入口。
参考:
上线前最小安全清单
- 请求签名校验必须开启
- 签名时戳必须校验有效窗口
- 同一请求 ID 只能消费一次
- webhook 来源地址要限制
- 异常请求要落审计日志
- 通话触发动作要做权限分级
执行步骤
第 1 步:签名与时戳
- 校验签名算法和密钥版本
- 校验时间偏移窗口(建议分钟级)
- 时间超窗请求直接拒绝
第 2 步:防重放
- 为每次回调记录唯一请求 ID
- 已处理 ID 进入短期缓存
- 命中重复 ID 直接拒绝并记审计
第 3 步:权限与动作隔离
- 语音触发只允许低风险动作
- 高风险动作需要二次确认
- 通话与管理命令分离,不共享入口
验收标准
- 伪造签名请求全部被拒绝
- 重放同一请求 ID 触发拦截
- 无来源信息的请求全部被拒绝
- 审计日志能追溯每次拒绝原因
常见故障
-
症状:合法请求被拒绝
动作:检查时区和时间窗口配置 -
症状:请求偶发重复执行
动作:检查请求 ID 缓存失效时间和多节点共享策略 -
症状:高峰期误拒绝上升
动作:检查签名验证顺序与网关超时策略
下一步
继续看: