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

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

  •  1
     
  •   Trinity888 · 31 天前 · 7950 次点击
    这是一个创建于 31 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    现在分析:

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

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

    2 ) 什么阶段来验证?

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

    我不做算法题了 JOJO
    yinxianwei
        105
    yinxianwei   30 天前
    前端
    diegozhu
        106
    diegozhu   30 天前
    幂等 和 防抖都要做的。如果实在要二选一,幂等最重要。

    从这个帖子的回复来看,就知道有多少而半吊子程序员了。
    diegozhu
        107
    diegozhu   30 天前
    @woostundy
    @justsosososo
    @weixiangzhe
    @yinxianwei
    @xixinjiejie

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

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

    要不要加 unique-request 验证,需要综合考虑一下。
    vermouth1995
        114
    vermouth1995   29 天前
    前端都不算开发人员了吗……
    haozi3156666
        115
    haozi3156666   29 天前   ❤️ 1
    @suke971219 前后端分离就是这样咯,解决防重复问题,防攻击的话就从另外的角度考虑。
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2906 人在线   最高记录 5268   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 06:18 · PVG 14:18 · LAX 22:18 · JFK 01:18
    ♥ Do have faith in what you're doing.