现在我的做法是,post 请求之前先去获取 token,然后前端带着 token 进行下一步请求,后端接到请求后,去 redis 删除 token,删除成功代表 token 验证通过,就可以完成后续操作。
这样做,对于一些并发不高的接口,会不会有点小题大做。
1
leonme 2020-03-29 22:39:11 +08:00
幂等性难道不是跟具体业务有关吗?不是什么接口都需要幂等性的
|
2
ClericPy 2020-03-29 22:52:04 +08:00
CSRF token 算是幂等性的一个常见套路, 实际上后端直接套现成的 middleware 就够使了, 何必要自己 redis 什么的, 看你这套实现又像是带了存储的 jwt...
并发高不高应该不耽误要不要做防护, 还是看具体业务吧, 有的业务安全性要求确实高, 有的业务就是用户改个名字什么的 平时常见的幂等就是购物车我点付款的时候, 手抖点两次别让我付款两次给我寄来两份就行了... |
3
123444a 2020-03-29 22:54:01 +08:00 via Android
response 带下一次序号即可,加一个序号接口,req 需要传序号
|
4
123444a 2020-03-29 22:55:32 +08:00 via Android
购物车是有 checkout id, 所以啥 token 都不用加,自然就能避免同一个 checkout id 付款 2 次,因为 checkout 是有状态机的
|