表单提交,测试时发现重复点击后,造成后台数据重复问题,到底是前端的工作,还是开发人员的工作?

2020-10-28 11:09:44 +08:00
 Trinity888

前端开发人员:只负责静态界面、表单校验及相应界面跳转、交互效果的实现

后台开发人员:负责业务逻辑及数据动态内容开发

现测试人员发现:表单提交时,重复点击多次提交按钮,造成数据重复问题。

现在分析:

1 ) 表单提交按钮控制,谁来做?

是前端没有把界面验证做好(例如按钮只能点击一次),还是后台开发没有控制?

2 ) 什么阶段来验证?

前端开发完成后,没有验证测试通过,还是后台开发人员全部完成后验证?
11120 次点击
所在节点    程序员
115 条回复
darknoll
2020-10-29 13:10:02 +08:00
防抖节流啊
KsAigg
2020-10-29 13:17:03 +08:00
前段责任大,要防止重放攻击啊
rodrick
2020-10-29 13:18:45 +08:00
前端不算开发人员?对用户来说我点多了你不告诉我是前端的问题,后端对提交的数据不做检验处理是后端的锅,都有
jiangshanmeta
2020-10-29 13:23:39 +08:00
我们前端已经被开除出开发队伍了 哭了

我不做算法题了 JOJO
yinxianwei
2020-10-29 13:41:32 +08:00
前端
diegozhu
2020-10-29 13:45:16 +08:00
幂等 和 防抖都要做的。如果实在要二选一,幂等最重要。

从这个帖子的回复来看,就知道有多少而半吊子程序员了。
diegozhu
2020-10-29 13:51:05 +08:00
@woostundy
@justsosososo
@weixiangzhe
@yinxianwei
@xixinjiejie

哪天碰到攻击你们就直接哭了。直接 node 起 10k 线程往 server api 发请求,浏览器都不需要还前端呢。。
5sheep
2020-10-29 14:18:13 +08:00
@diegozhu 幂等不是用来防攻击的,也防不住。

另外看其他层主提到了 csrf,csrf 是为了防跨站点伪造提交,不是为了防重复提交的,并且这个也防不住。
clxtmdb
2020-10-29 14:40:32 +08:00
@rodrick 勉强算半个开发,半个艺术家(手动滑稽)
sjzcxc
2020-10-29 14:50:14 +08:00
前端要从交互上保证不会重复提交,也就是用节流或者直接 disable 提交按钮
后端应该从数据上保证不会重复保存,他们也应该加一层验证
woostundy
2020-10-29 14:53:55 +08:00
@diegozhu #107 防攻击和重复提交是一回事?防重复提交了就能防攻击了?
别逗
ansenJ
2020-10-29 15:23:36 +08:00
吓得我赶紧给我的 Form/Button 添加了一个 loading 效果
meepo3927
2020-10-29 17:17:35 +08:00
Button 请求时加 loading,我觉得是很必要的吧,至少我自己都加的。

要不要加 unique-request 验证,需要综合考虑一下。
vermouth1995
2020-10-29 17:28:31 +08:00
前端都不算开发人员了吗……
haozi3156666
2020-10-29 17:54:08 +08:00
@suke971219 前后端分离就是这样咯,解决防重复问题,防攻击的话就从另外的角度考虑。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/719342

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX