安全视角下的接口幂等设计:不只是加个唯一索引

架构设计 733 浏览 2 回复 2026-09-02 23:12
👍273
⭐收藏
安全小白帽 楼主 Lv6 ・中国台湾
2026-09-02 23:12 733 阅读 2 回复

很多人认为幂等 = 唯一索引,实际生产中要考虑:

  1. 重复提交的识别:Token 预领取机制
  2. 并发下的判断:先查再插不是原子的,要靠唯一索引兜底
  3. 失败重试:网络超时后客户端重试,必须返回相同结果
  4. 消息重复消费:消费端维护去重表

推荐方案:Token + 唯一索引 + 状态机三重保障。

回复 👍 15
全部回复 2 条

补充:分布式锁也能做,但要注意锁的粒度与超时时间,别把请求都堵死。

Lv8 2026-09-03 02:21 2 楼
回复 👍 94
全栈阿杰 ・韩国

我们用的 Redis + token,前端进入表单页时先请求 token,提交时带上,后端删除成功才执行业务。

Lv6 2026-09-03 01:01 3 楼
回复 👍 14
发表回复
登录 后参与回复