+
 新版
测试重复提交
2014-04-06 13:13

引用来自“justintung”的评论

引用来自“hanzhankang”的评论

干什么都放在session里,是不是太懒了

那你打算放哪里?

如果都丢到session,如果用户打开这页面,又不提交的话,那这个session不是删不掉而一直存在了?

2014-03-27 13:50

引用来自“刘学炜”的评论

引用来自“Silentboy”的评论

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

呵呵

方法

发顺丰

好的,亲,顺丰包邮,十盒大象

土包子

没有包子卖呦亲
2014-03-27 13:47

引用来自“Silentboy”的评论

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

呵呵

方法

发顺丰

好的,亲,顺丰包邮,十盒大象

土包子
2014-03-27 13:45

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

呵呵

方法

发顺丰

好的,亲,顺丰包邮,十盒大象
2014-03-27 13:38

引用来自“刘学炜”的评论

引用来自“刘学炜”的评论

呵呵

方法

发顺丰
2014-03-27 13:38

引用来自“刘学炜”的评论

呵呵

方法
2014-03-27 13:37
呵呵
2013-11-14 14:53
嗯,这个也是我需要的,我目前的解决办法是用遮罩来让客户不继续点击。不知道还有没有更好的办法!
2013-11-14 14:07
表单多次提交有错吗?就像修改个人资料一样,为什么不能多次修改?大家没理解作者的意思,人家说的是两次表单提交速度太快
2013-11-14 09:05

引用来自“铂金眼”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?

卧槽,我越来越不能理解你了啊!打开页面生成表单的时候token就初始化了!

打开页面,生成token,存数据库->提交页面,对比提交token和数据库token

如果是上面的流程,那么每生成一个新的就存储一个,怎么保证不被重复提交呢?

看来你没明白这里说的表单重复提交的意思啊!
我表达能力不好!不说了!会越说越说不清……

是我对这里说的表单重复提交理解错了,还是你?

文中所说的重复提交是指在短时间内多次提交同一个表单。比如用户提交需求时,如果多点了一次提交就会提交两次需求。
如果你生成的token在提交后立刻被删除,那么不刷新的情况下是可以避免重复提交。
2013-11-14 08:55

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?

卧槽,我越来越不能理解你了啊!打开页面生成表单的时候token就初始化了!

打开页面,生成token,存数据库->提交页面,对比提交token和数据库token

如果是上面的流程,那么每生成一个新的就存储一个,怎么保证不被重复提交呢?

看来你没明白这里说的表单重复提交的意思啊!
我表达能力不好!不说了!会越说越说不清……

是我对这里说的表单重复提交理解错了,还是你?
2013-11-14 08:54

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?

卧槽,我越来越不能理解你了啊!打开页面生成表单的时候token就初始化了!

打开页面,生成token,存数据库->提交页面,对比提交token和数据库token

如果是上面的流程,那么每生成一个新的就存储一个,怎么保证不被重复提交呢?

看来你没明白这里说的表单重复提交的意思啊!
我表达能力不好!不说了!会越说越说不清……
2013-11-14 01:01
tokenInterceptor
2013-11-13 23:33
cookie
2013-11-13 22:01

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?

卧槽,我越来越不能理解你了啊!打开页面生成表单的时候token就初始化了!

打开页面,生成token,存数据库->提交页面,对比提交token和数据库token

如果是上面的流程,那么每生成一个新的就存储一个,怎么保证不被重复提交呢?
2013-11-13 17:14

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?

卧槽,我越来越不能理解你了啊!打开页面生成表单的时候token就初始化了!
2013-11-13 16:48

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。

数据库只存一个token?那这个token怎么初始化呢?
2013-11-13 16:27
还有没有更安全的办法?
2013-11-13 16:02
学习学习~
2013-11-13 15:48
分布式环境的怎么破
2013-11-13 13:04
觉得要区分一下,是用户心急造成的重复提交还是恶意的重复提交;是内部系统还是放在公网上的网页。
2013-11-13 12:20
不要想什么客户禁用javascript了,这是不现实的,如果客户禁用了浏览器执行javascript,那么他就不要使用互联网了。

个人感觉使用ajax方式比较简单方便,就像 osc 的 ajaxForm 。
2013-11-13 12:00
ajax。
2013-11-13 11:51
PRG模式
2013-11-13 11:44
JFinal 就是用session 做的
LUj
2013-11-13 11:23
markloff
2013-11-13 11:06

引用来自“路人A”的评论

引用来自“justintung”的评论

引用来自“hanzhankang”的评论

干什么都放在session里,是不是太懒了

那你打算放哪里?

放在session里是合理的。

用了session在web集群的时候负责均衡就得弄个session粘滞策略,要不就得启用web服务器session共享,都不是什么靠谱的方案。呆过的两个B2C公司网站都是禁用session的
2013-11-13 10:55
第一种方法无疑是最好的。因为我们的整个应用都是用js写的,如果用户把js禁用了。那就太好了,整个世界清静啦。。
2013-11-13 10:49

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?

这不需要判断什么第一次啊!token用一次就没用了。刷新页面提交表单浏览器本身会有个提示的,这样子就是重复提交了。如果你试地址栏回车,那就会刷新整个表单,token就是新的。
2013-11-13 10:40
mark
2013-11-13 10:35
测试重复提交
2013-11-13 10:32
fasfsadff
2013-11-13 10:24
转向是目前来看最常用的了
2013-11-13 09:48
疯狂使用session中
2013-11-13 09:43

引用来自“铂金眼”的评论

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!

怎么判断用户是第一次访问表单呢?刷新表单时会不会重新生成一个新的token呢?
2013-11-13 09:39

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

还缺少一步:表单提交之后更新token
2013-11-13 09:27
毫无亮点
2013-11-13 09:26
学习了
2013-11-13 09:25
用户提交之后 用js 删除表单
2013-11-13 09:23

引用来自“烽燧”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

ajax呢。与其操作数据库,不如丢入session

总感觉session不太可靠啊!放内存缓存也是不错的啊!
2013-11-13 09:21

引用来自“爆炸”的评论

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。

可以啊,怎么不可以防止重复提交!提交一次,token就不存在了,假如用户再次刷新,或者后退提交的话,程序就会忽略掉这次的提交!
2013-11-13 09:21

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

不就是第二条嘛
2013-11-13 09:16

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

这是防CSRF,并不能保证不被重复提交。
2013-11-13 09:14

引用来自“铂金眼”的评论

我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?

ajax呢。与其操作数据库,不如丢入session
2013-11-13 09:08

引用来自“hanzhankang”的评论

干什么都放在session里,是不是太懒了

那你打算放哪里?
2013-11-13 08:55
我是生成的token放在表单隐藏域,然后token存在数据库里面的,提交的时候取出来对比,没有匹配token就是非法提交,有匹配到就提交,然后删除这一台token。这样子OK不?
2013-11-13 08:48
还以为是什么新方法 好吧
2013-11-13 08:45
disable ,token, Redirect ,数据库标识 , 都是几种很常见 常用的
2013-11-13 08:45
ajax不就行了嘛
2013-11-13 08:43
mark..
2013-11-13 08:42
mark
2013-11-13 08:34
mark
2013-11-13 08:34
mark
2013-11-13 08:22
干什么都放在session里,是不是太懒了
2013-11-13 08:14

引用来自“王振威”的评论

这都是常见的做法啊

应该就是这几种比较常见且比较简洁的策略。
2013-11-13 07:58
这都是常见的做法啊
回复 @
{{emojiItem.symbol}}
返回顶部
顶部