防止重复提交的思考

发表于:2009-9-30 16:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:铁花    来源:Taobao QA Team

  最近在某个系统的应用中碰到了token无法解决重复提交的问题。

  在经过询问和研究后总结如下:

  1、通过添加令牌在客户端,在请求中验证令牌的方式无法防止用户通过浏览器快速点击多次提交;

  原因:用户快速点击提交的时候,服务器端处理了第一个请求以后才会对客户端的令牌进行操作,而第二个请求提交的数据是在服务器端处理令牌之前发出的。如下图:

  上图中的请求1和2所发送的rundata是一摸一样的,所以服务器在处理完请求1的响应对于请求2没有任何效果。

  2、预防用户通过浏览器快速点击解决方案之一:点击按钮以后通过js禁用按钮;

  3、预防重复提交最有效的方法只能通过服务器端保存状态数据;

  4、令牌配合js禁用按钮能解决一部分问题。

  测试重复提交方法总结:

  1、提交请求后F5刷新;

  2、截获请求,多次提交。

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 小狐狸如如
    2009-10-09 13:30:18

    我们公司的系统一般防止重复性提交要JS把提交按钮给DISABLE掉,同时在服务器上再次判断是否已经存在了一条完全相同的数据。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号