雪狼湖
因为喜欢所以取了这个名字~
BlogJava
首页
新随笔
联系
聚合
管理
posts - 5, comments - 1, trackbacks - 0
Java防止重复表单提交的分析
防止重复提交的hashCode
在表单显示页面
1
//
生成一个formhash,算法可以自己定,不随便重复就可以了
2
String formhash
=
MD5.encode(Long.toString(
new
Date().getTime()));
3
//
读取当前session里面的hashCode集合,此处使用了Set,方便判断。
4
Set
<
String
>
formhashSession
=
(Set
<
String
>
) session.getAttribute(
"
formhashSession
"
);
5
if
(formhashSession
==
null
)
{
6
formhashSession
=
new
HashSet
<
String
>
();
7
}
8
//
检测重复问题
9
while
(formhashSession.contains(formhash))
{
10
formhash
=
MD5.encode(Long.toString(
new
Date().getTime()));
11
}
12
//
保存到session里面
13
formhashSession.add(formhash);
14
//
保存
15
session.setAttribute(
"
formhashSession
"
, formhashSession);
表单里面增加如下字段
<
input type
=
"
hidden
"
name
=
"
formhash
"
id
=
"
formhash
"
value
=
"
<%=formhash%>
"
/>
在表单提交页面进行如下处理
1
//
拿到表单的formhash
2
String formhash
=
upload.getParameter(
"
formhash
"
);
3
//
拿到session里面的集合
4
Set
<
String
>
formhashSession
=
(Set
<
String
>
) session.getAttribute(
"
formhashSession
"
);
5
//
如果没有,则是重复提交,或者非法提交
6
if
(formhashSession
==
null
||
!
formhashSession.contains(formhash))
{
7
out.println(
"
请不要重复提交!
"
);
8
return
;
9
}
10
//
下面进行其它的操作
11
//
12
//
最后,如果操作成功,从session里面把这个formhash 删掉!
13
//
以免用户少填写了某个字段,造成表单无法再次提交
14
formhashSession.remove(formhash);
15
session.setAttribute(
"
formhashSession
"
, formhashSession);
posted on 2008-02-28 16:52
herry
阅读(228)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
有空多联系~
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
IT行业(1)
生活感悟(3)
随笔档案
2006年8月 (2)
2006年4月 (2)
文章分类
CONCEPTION(2)
HTML(4)
JAVA(21)
JavaScript(5)
mysql(1)
NETWORK(2)
Oracle(7)
servers(3)
XML(1)
中间件(5)
文章档案
2008年2月 (1)
2007年3月 (1)
2006年8月 (6)
2006年7月 (1)
2006年6月 (1)
2006年4月 (3)
收藏夹
HTML(1)
java
POI生成EXCEL
POI生成EXCEL文件
用Kibana和logstash快速搭建实时日志查询、收集与分析系统
搜索
最新评论
1. 你哈哈哈哈和哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈的项是你选中的项而不返回默认值
沃尔沃儿女
--人味儿
阅读排行榜
1. 昨天就到了郑州了(283)
2. 每一天都能学到新的知识(233)
3. 明天要离开上海了(224)
4. 开通BLOG的第一天(214)
评论排行榜
1. 昨天就到了郑州了(0)
2. 明天要离开上海了(0)
3. 每一天都能学到新的知识(0)
4. 开通BLOG的第一天(0)