动作确认设计是什么
高风险动作执行前弹出的确认界面,如果只写「确定继续吗」,用户会条件反射点确认,防护等于没有。有效的确认要展示可核对的信息:做什么动作、作用于哪个对象、金额或范围、参数是被用户明确提出还是由外部内容带入。默认选中取消,高影响动作还要求手动输入对象名完成校验——这一步同时挡住了自动化脚本的点击。
基本信息
| 适用平台 | 带外发、支付、删除、权限变更能力的代理界面与后台工具 |
|---|---|
| 必备要素 | 动作、对象、参数与范围、触发来源、可逆性说明 |
| 默认值 | 默认取消;无响应时视为拒绝 |
| 防自动化 | 高影响动作要求手动输入对象名或做二次校验 |
典型使用场景
- 外发邮件或消息:展示收件人与附件名,提示不可撤回
- 资金操作:展示金额、收款方与触发来源
- 删除与批量修改:展示影响条数与对象范围
- 权限变更:展示授予范围与有效期
- 配置变更:展示将被修改的项与当前值
确认框要素
确认框要素
# 动作:向 alice@example.com 发送附件“报表.xlsx”
# 来源:由会话 #8821 的文档内容触发(非用户直接要求)
# 范围:收件人 1 人,附件 1 个,不含正文中的其他数据
# 可逆性:该操作为外发,发送后无法撤回
# [取消](默认) [确认发送](需手动输入对方邮箱完成校验)
# 记录:确认人、时间、动作参数与结果关联存储,供事后审计确认设计与常见缺陷
| 设计项 | 有效做法 | 常见缺陷 |
|---|---|---|
| 信息量 | 列出动作与对象关键字段 | 只写「继续吗」,用户无法核对 |
| 默认项 | 默认取消 | 默认确认,回车即执行 |
| 来源标注 | 说明参数由谁触发 | 不标来源,无法识别注入 |
| 防机器人 | 要求输入对象名 | 一次点击即通过,脚本可绕过 |
| 留痕 | 确认记录与执行结果关联 | 只记点击不记最终动作 |
确认框的信息要与服务端实际执行的参数一致:前端展示一个收件人、后端批量发送,是典型的展示与执行不一致问题。执行前应在服务端复核参数。
只靠界面确认不足以构成防护:页面可被自动化脚本操作,接口也可被直接调用。高风险动作的强制校验必须放在服务端。