有一句话说的好:永远不要相信前台不过在阻止表单的重复提交上面前台JS还是能帮后台分担一点压力的,可以配合使用。首先说说单纯的前台控制重复提交的方法(不安全的):1、用JS变量控制2、设置按钮的可用性后台校验:主要逻辑思想:页面生成时或者表单提交前从服务器获取一个随机生成的token来唯一标识此次表单...
分类:
其他好文 时间:
2014-11-21 18:13:36
阅读次数:
167
表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:1、点击提交按钮两次。2、点击刷新按钮。3、使用浏览器后退按钮重复之前的操作,导致重复提交表单。4、使用浏览器历史记录重复提交表单。5、浏览器重复的HTTP请求。 防止表单重复提交的几...
分类:
其他好文 时间:
2014-11-09 13:46:23
阅读次数:
139
表单页面由servlet程序生成,servlet为每次产生的表单页面分配一个唯一的随机标识号,并在FORM表单的一个隐藏字段中设置这个标识号,同时在当前用户的Session域中保存这个标识号。
当用户提交FORM表单时,负责处理表单提交的serlvet得到表单提交的标识号,并与session中存储的标识号比较,如果相同则处理表单提交,处理完后清除当前用户的Session域中存储的标识号。
在下列情况下,服务器程序将拒绝用户提交的表单请求:
1,存储Session域中的表单标识号与表单提交的标...
分类:
其他好文 时间:
2014-11-04 01:37:34
阅读次数:
256
Atitit.struts2体系结构大总结
1. 国际化与异常处理 2
2. 第5章 拦截器
2
3. 第7章 输入校验
2
4. 避免表单重复提交与等待页面 2
5. Struts 2对Ajax的支持
2
6. 服务端控件 2
7. 类型转换 2
8. 第8章 输入验证
2
9. 第9章 消息处理与国际化
2
10. 第10章 Model Driven和...
分类:
其他好文 时间:
2014-11-01 11:58:40
阅读次数:
343
一、在控制器加载到模版前public function index(){ $_SESSION['token'] = md5(microtime(true)); $this->display(); }二、在FORM表单中添加隐藏域 ...
分类:
Web程序 时间:
2014-10-23 12:20:23
阅读次数:
183
1:利用javascript防止表单重复提交()以上2种方法都是利用javascript来防止用户反复点击提交按钮来提交页面,但是对于表单提交后用户点击刷新按钮导致表单重复提交以及用户提交表单后点击后退按钮回退到表单页面后再次提交是没有效果的。那么针对这2种情况应该如何处理呢??
分类:
编程语言 时间:
2014-10-03 14:18:04
阅读次数:
167
3. 表单的重复提交问题1). 什么是表单的重复提交 > 在不刷新表单页面的前提下: >> 多次点击提交按钮 >> 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮". >> 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" > 注意: >> 若刷...
分类:
其他好文 时间:
2014-09-26 23:16:48
阅读次数:
317
1. 使用JS让按钮在点击一次后禁用(disable)。=> 防止多次点击发生,实现方式较简单。 缺点:若客户端禁止JavaScript脚本,则失效。2. 在提交成功后执行页面重定向(redirect)。=> 转到提交成功信息页面。 特点:避免F5重复提交,消除浏览器前进和后退按导致的同样问题。.....
分类:
Web程序 时间:
2014-09-25 16:58:07
阅读次数:
200