数据边界
进入服务端的数据
| 数据 | 来源 | 用途 |
|---|---|---|
| 用途字符串 | 请求头 | 绑定表单 |
| 挑战令牌 | 兑换请求 | 验签并读回参数 |
| 子挑战答案 | 兑换请求 | 验算 |
| 兑换令牌 | 业务请求 | 校验用途与时效 |
服务端不需要:IP 画像、User-Agent 归类、鼠标轨迹、屏幕尺寸、Cookie、跨站标识。
留在服务端的数据
只有一份进程内的兑换占位记录,用于阻止同一份挑战被兑换两次。它有容量上限与时效,不落库、不跨实例共享、不包含访客标识。
警告
这份记录是进程级的。多实例部署时它不是全局去重,详见多实例部署。
留在浏览器的数据
- 兑换令牌:只在组件状态里,随表单提交一次
- 求解器资源:静态文件缓存,不含用户数据
- 没有任何写入 Cookie 或本地存储的字段
提交完成后(无论成功或失败),组件应清空令牌并重置。
访问结束后
令牌过期即失效;占位记录随进程内缓存淘汰。没有「这次验证属于谁」可供回溯,也没有可关联下一次访问的主键。
提示
自查方法 — 打开浏览器开发者工具的 Network 面板,完成一次验证,检查请求域名是否只有本站、Application 面板是否没有新增 Cookie 或本地存储条目。