V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Trinity888
V2EX  ›  程序员

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

  •  1
     
  •   Trinity888 · 2020-10-28 11:09:44 +08:00 · 10534 次点击
    这是一个创建于 1276 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    现在分析:

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

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

    2 ) 什么阶段来验证?

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

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

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

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

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

    要不要加 unique-request 验证,需要综合考虑一下。
    vermouth1995
        114
    vermouth1995  
       2020-10-29 17:28:31 +08:00
    前端都不算开发人员了吗……
    haozi3156666
        115
    haozi3156666  
       2020-10-29 17:54:08 +08:00   ❤️ 1
    @suke971219 前后端分离就是这样咯,解决防重复问题,防攻击的话就从另外的角度考虑。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   904 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:56 · PVG 05:56 · LAX 14:56 · JFK 17:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.