表单重复提交解决方案(防止 Http 重复提交。)

产生原因:

        网络延时、重新刷新、点击浏览器的【后退】按钮回退到表单页面后进行再次提交

前端

        点击铔之后,按变灰

标识

2.后瑞

         使用 token

1,使用令牌好处唯一性只能有一次请求

            web 安全知识点使用令解决模拟请求我現在把这个生 token 方式知道,还是能被模拟?模拟程序使用验证码模拟请求识别验证码是非常难token+验证码使用 javascript 解决既然存在上述所说的表单重复提交问题,那么我们就要想办法解决,比较常用的方法是采用 JavaScript 来防止表单重复提交,具体做法如下:修改 form.jsp 页面,添加如下的 JavaScript 代码来防止表单重复提交

<scirpt type="text/javascript" >

              var isFlag = false; //表单是否已经提交标识,默认为false

               function submitFlag() {
                            if (isFlag == false) {
                                 isFlag = true;
                                 return true;
                            } else {
                                 return false;
                            }
              }
</script>
</head>

<body>

<from     action="${pageContext.request.contextPath}/DoFormServlet"     

                 method="post" onsubmit="return submitFlag()">

           用户名:<input type="text" name="userName" >

                          <input type="submit" value="提交" id="submit">

</form>

</body>

</html>


         除了用这种方式之外,经常见的另一种方式就是表单提交之后,将提交按

钮设置为不可用,让用户没有机会点击第二次提交按钮,代码如下:

function dosubmit(){

               //获取表单提交按钮

                var btnSubmit = document.getElementById("submit");

                 //将表单提交按钮设置为不可用,这样就可以避免用户再次点击提交按钮

                  btnSubmit.disabled= "disabled";

                 //返回true让表单可以正常提交

                  return true;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这种问题出现的原因或者说应用场景大致如下: 网络延迟,服务器未能及时做出响应,导致用户不断重复点击提交按钮 用户双...
    南风nanfeng阅读 318评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,879评论 1 45
  • 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表...
    重山杨阅读 1,761评论 5 26
  • Getting Started Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为...
    Eva_chenx阅读 28,907评论 0 14
  • 「修复婚姻」挽回才有可能到达成功_荣故里 每个感到绝望的学员中,95%的人都会有一种思维,一种惯性的失利思维,一种...
    荣故里阅读 147评论 0 0