java 使用session如何防止恶意刷新?

mmrwbb7 2010-03-07 05:40:04
如何使用session控制用户过快刷新呢?
如果在3秒内打开一个参数不同页面相同的info.jsp时提示“打开页面不要太快!”

...全文
456 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyj8808208 2010-03-08
  • 打赏
  • 举报
回复
我晕!前两天面试的时候那人问我这个问题来着,没答上来.....为什么不让我早几天看到这个呢?
dinghun8leech 2010-03-08
  • 打赏
  • 举报
回复
还不如用javascript来的好,为何要用session,还得和后台交互。
BearKin 2010-03-08
  • 打赏
  • 举报
回复
引用 5 楼 mmrwbb7 的回复:
唉  还是自己解决了  共享下:
Java code

Date date=new Date();long time=date.getTime();
String temp=null;if(session.getAttribute("bj")!=null){
temp=String.valueOf(session.getAttribute("bj"));
}if(temp!=null&&temp.length()>0){long bj=Long.parseLong(temp);long msg=time-bj;if(msg<1500){//1500毫秒是控制多少秒内不能两次刷新 如发现这个时间内刷新就弹出下面对话框 out.print("<script>alert('请不要快速刷新!');</script>");return;
}
}
session.setAttribute("bj",time);


不知道您这段代码放到什么地方 放到过滤器里是不行的 最好只是针对你需要判断的那个页 你也要考虑到用户快速点链接重定向到其他页面的情况

可以的话也可以换个思路 在访问页面的时候在一定时间范围内禁用F5或者鼠标右键?(setTime)
LZ+U
xinzhifan4 2010-03-08
  • 打赏
  • 举报
回复
学习了
谢谢。。。。
xuexijava 2010-03-08
  • 打赏
  • 举报
回复
学习。。。。。。。。。。。。。。。。
老紫竹 2010-03-08
  • 打赏
  • 举报
回复
这段代码,最好放到一个同步代码里面,防止用户多线程刷页面

当然了,如果你控制用户级,而不是session(一个用户可以登录多个session,来刷你的页面),那么你可以把同步对象放到用户对象上,甚至放到数据库的用户字段里
JamesLiu 2010-03-08
  • 打赏
  • 举报
回复
你这个嘛,最好放到拦截器里,不然每个页面都得去加那些代码
mmrwbb7 2010-03-07
  • 打赏
  • 举报
回复
唉 还是自己解决了 共享下:


Date date=new Date();
long time=date.getTime();
String temp=null;
if(session.getAttribute("bj")!=null){
temp=String.valueOf(session.getAttribute("bj"));
}
if(temp!=null&&temp.length()>0){
long bj=Long.parseLong(temp);
long msg=time-bj;
if(msg<1500){ //1500毫秒是控制多少秒内不能两次刷新 如发现这个时间内刷新就弹出下面对话框
out.print("<script>alert('请不要快速刷新!');</script>");
return;
}
}
session.setAttribute("bj",time);
summer_ngs 2010-03-07
  • 打赏
  • 举报
回复
我是这么考虑的哈
搞个filter,mapping给/*
每次进去后,new Date().toTime()(就是Date里面取毫秒数的函数)
和session里面放的之前的毫秒数想减;
大于多少就dispatch,少于多少就forward到提示页面

mmrwbb7 2010-03-07
  • 打赏
  • 举报
回复
引用 2 楼 summer_ngs 的回复:
用filter,每次进去判断下时间?



汗颜
使用filter 如何实现呢?
用session也可以 但问题还是给我了 如何实现是个问题!
summer_ngs 2010-03-07
  • 打赏
  • 举报
回复
用filter,每次进去判断下时间?
Cranenet 2010-03-07
  • 打赏
  • 举报
回复
严重关注这个问题
呵呵

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧