欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > JS教程 >

如何防止表单重读提交

发表于2019-04-23 18:00| 次阅读| 来源网络整理| 作者session

摘要:如何防止表单重读提交
如何防止表单重读提交

  一、表单反复提交的情况:

  1、点击提交按钮两次;

  2、点击刷新按钮;

  3、利用阅读器后退按钮反复之前的操作,导致反复提交表单;

  4、利用阅读器历史记载反复提交表单;

  5、阅读器反复的 HTTP 申请。

  二、防止表单反复提交的方法

  1、禁掉提交按钮

  表单提交后利用 Javascript 使提交按钮disable。这种方法防止心急的用户屡次点击按钮。但有个成绩,假设客户端把 Javascript 给制止掉,这种方法就无效了。

  2、Post/Redirect/Get 形式

  在提交后执行页面重定向,这就是所谓的 Post-Redirect-Get (PRG)形式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交胜利信息页面。

  这能避免用户按 F5 导致的反复提交,而其也不会出现阅读器表单反复提交的警告,也能消弭按阅读器行进和后退按导致的异样成绩。

  3、在 session 中寄存一个特殊标志

  当表单页面被申请时,生成一个特殊的字符标志串,存在 session 中,同时放在表单的隐藏域里。承受解决表单数据时,反省标识字串能否存在,并立即从 session 中删除它,然后失常解决数据。假设发现表单提交里没有有效的标志串,这阐明表单已经被提交过了,疏忽这次提交。这使你的 web 运用有了更高级的 XSRF 保护。

  4、利用Cookie解决

  利用Cookie记载表单提交的形状,依据其形状可能反省能否已经提交表单。

  5、在数据库里减少解放

  在数据库里减少惟一解放或创建惟一索引,防止出现反复数据。这是最有效的防止反复提交数据的方法。