精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-04-29
可以在js里加一个参数,判断提交表单数据的次数。如果提交表单后,server还没有处理完毕的话,再电击提交按钮的话,就阻止提交(return false;)。
|
|
返回顶楼 | |
发表时间:2006-05-16
这个办法只能防止同一个页面多次提交。如果一个页面正常提交后,用户第二次提交一样的数据我们认为也是一次有效的提交。
=========== 这样还是会产生重复数据阿。 我感觉还是我最开始那个方法管用。 用户无论如何不能提交重复数据,而且,不用写前台的js代码。 |
|
返回顶楼 | |
发表时间:2006-05-16
不过,我这个只是最后一个记录和要提交的进行比较,主要是防止刷新的时候,重复提交的。
并不能保证数据库里面提交的,没有重复的,否则就得把数据库里面每条记录都比较一次,才允许它提交。那样代价太大了。 |
|
返回顶楼 | |
发表时间:2006-05-16
道理越辩越明了。确认下 解决重复提交的目的是什么?
1. 防恶意的攻击?(录制脚本等) 2. 防无意的过失?(点刷新钮) 个人认为目的是2,那么如果是新做系统,合理的页面处理方式更优雅:对表单提交的处理采用 Post-Redirect-Get 方式而非简单的 处理-forward,并处理好 页面导航(页面的返回链接)。 提交按钮点击后变灰。 采用token更适合对现有系统的改造。 论坛以前讨论过...... |
|
返回顶楼 | |
发表时间:2006-06-03
eyeshot 写道 :o 为什么不用cookie来处理呢.......
这样岂不是更麻烦了么? |
|
返回顶楼 | |