防止表单重复提交,在前端还是后端做限制更好?
发布于 2022-09-21 08:51:56
关注者
0
被浏览
18
5 个回答
-
后端的设计 从功能本身考虑幂等性 1)查询一般可以不用考虑幂等性 2)删除操作是相对条件要设计幂等,是绝对条件可以不用考虑 3)更新操作除了考虑 2)的情况,还需要考虑 ABA 的问题,要考虑幂等操作 4)插入操作一般是基于某个场景的数据,要设计幂等 从系统架构考虑幂等性 1)应用本身是单体的,可以考虑使用 REDIS 的 sortedset 来检验操作的幂等性 2)应用在请求路径上是多进程的,如网管层、业务逻辑层、数据访问层 ... 还需要考虑在各层次上,由于请求超时后端自己引发的重试操作情况 前端的考虑 前端应该考虑重复调用 API 的问题,需要后端先分配独立的如 requestId 后, 在对应的 API 中使用便于后端判断操作流水,当然超时是需要考虑进去的
-
前后端都需要处理,前端处理可以减少多余请求节省服务器开销,后端处理可以避免各种情况产生的重复请求重复处理。 前端处理主要有:事件限制、交互限制、请求限制等 后端处理主要有:令牌限制、资源锁限制、请求去重限制、权限限制等
-
这道题假设了必须限制重复提交,问的是那种限制方式更好。 一般最安全的是后端限制,最节省资源的是前端限制,可以根据具体情况结合使用
-
前端限制可以减少请求节约系统资源,后端处理安全性更高
-
后端做限制更好用户在前端提交数据时环境是不可控的,当用户使用postman发起请求时前端限制不一定起作用,后端限制更可靠更安全。