本章进度 15 / 18
83%
安全、权限与隐私·练习·18 分钟
正文已完成

用异常场景验收审批机制

测试重复提交、超时、参数变更、审批人越权和执行失败,确保确认不会被绕过或重放。

L200
为什么现在学

现在把“审批机制”用于一次具体操作,检查你能否独立做出并修正结果。

本课会用什么
  • 按本课练习说明准备真实材料
  • 保留练习与复盘记录

正常点击一次批准只是最简单的路径。漏洞往往藏在并发、重试、过期和状态变化之间。

这一课的结果

能为一个高风险动作建立审批状态机与异常测试集。

核心概念

先把关键判断说清楚

01

审批有明确状态

待审、批准、拒绝、过期、已执行和执行失败要有互斥转换规则。

02

防止重放与重复执行

审批令牌一次性使用,执行接口幂等,浏览器刷新或网络重试不能造成双重副作用。

03

授权与身份同时校验

批准人身份、角色、对象范围和当前内容版本都应在服务端验证。

案例拆解

网络重试造成两次退款

客服批准一笔退款后页面超时,前端自动重试同一执行请求,支付系统处理了两次。

  1. 01

    为审批与执行生成唯一操作键

  2. 02

    服务端记录已消费状态并返回同一结果

  3. 03

    加入超时重试和并发点击测试

案例结果

重复请求不再产生第二次退款,用户能读取第一次执行的真实结果。

提交前练习

现在轮到你

为退款审批设计状态机和五条异常测试。

完成本课需要:完成以下内容用于本课收口。

内容会自动保存在当前设备
查看参考答案与评分标准

参考答案

待审可到批准/拒绝/过期,批准仅一次进入执行中;令牌绑定审批人、订单、金额和版本;测试双击、重试、过期、改金额和无权角色;读回支付流水与审批事件。

评分标准

  • 状态转换互斥
  • 至少覆盖五种异常
  • 执行结果由业务系统读回

本课收口 · 学习证据

留下完整学习证据

读完内容、完成练习、通过理解检查并留下 12 字以上总结,才记为已验证。

0 / 4
02完成本课必填练习0 / 4 项必填内容已填写03通过理解检查点此去回答,约 30 秒
04写下 12 字以上总结还差 12 字
防止批准请求因网络重试产生两次退款,核心控制是什么?
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。

资料来源

继续核对与延伸阅读

本课内容最近更新于 。