网页form表单重复提交的问题
1,IE”后退“按钮可以导致页面重新提交;
2,刷新成功提交后的提示信息(返回)页面,也能导致重复提交;
3.遨游,IE8,等支持同一窗口多标签的浏览器也可以提交多次
4:提交后后退到前一页面,会导致再次提交
5:网速慢引起的重复提交
原因:
出现这种情况是表单提交只在客户端进行了限制(比如点击提交后,按纽就处于不可点击状态),而可能由于各种原因导致这个功能失效,所以解决这个问题根本办法是在服务器端对表单做判断,如果传递两个完全一样的表单参数,服务器就会拒绝第二条消息,只记录一条
测试方法:抓包确定发送表单的http消息,然后根据此消息构造两条完全一样的消息,用自己编写的程序或测试脚本发送给服务器端,如果数据库生成两条一样的记录,则测试不通过,如果只生成一条正确的记录,则测试通过
原因:
1.多开导致的重复提交
2.后退没有清除session
3.刷新功能
4.数据库里没有做限制,类似订单这种数据,是应该做唯一性限制的。做了限制之后,即使重复提交,也会抛出错误,捕获一下就行了。