java web 登录后更新JSESSIONID
2024-10-16 03:18:22
https://huangqiqing123.iteye.com/blog/2031455
登录前的请求一般都是http的,http是不安全的,假设用户登录前的JSESSIONID被人取得,如果登录后不变更JSESSIONID的话,即使登录请求是https的,该用户仍然会被他人冒充。
javaweb程序强制更新JSESSIONID的方法
- /**
- * 重置sessionid,原session中的数据自动转存到新session中
- * @param request
- */
- public static void reGenerateSessionId(HttpServletRequest request){
- HttpSession session = request.getSession();
- //首先将原session中的数据转移至一临时map中
- Map<String,Object> tempMap = new HashMap();
- Enumeration<String> sessionNames = session.getAttributeNames();
- while(sessionNames.hasMoreElements()){
- String sessionName = sessionNames.nextElement();
- tempMap.put(sessionName, session.getAttribute(sessionName));
- }
- //注销原session,为的是重置sessionId
- session.invalidate();
- //将临时map中的数据转移至新session
- session = request.getSession();
- for(Map.Entry<String, Object> entry : tempMap.entrySet()){
- session.setAttribute(entry.getKey(), entry.getValue());
- }
- }
php重置sessionid的方式参见:http://huangqiqing123.iteye.com/blog/1891051
最新文章
- 【先定一个小目标】windows下安装RabbitMQ消息服务器
- WEB服务器配置
- MyEclipse/Eclipse中XML文件的格式化配置
- 抽象工厂在ADO.Net中的应用
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
- 根据权限显示隐藏SharePoint 2010快速启动栏的链接
- 别名的应用(New-Alias)
- SSIS DB目录设置 (Integration Services Catalogs)
- Kubernetes fluentd+elasticsearch+kibana
- GIT初始学习记录
- Day5:html和css
- IDEA中静态资源无法找到的原因
- 170828、Eclipse Java注释模板设置详解以及版权声明
- 【托业】【新托业TOEIC新题型真题】学习笔记13-题库四-P7
- dashboard无法查到endpoint, counter
- win7右键菜单调整顺序
- 编译centos6.5:glibc 升级2.14问题
- [hadoop读书笔记] 第三章 HDFS
- Linux下MyCat和MyCat_web的安装和配置
- sql:MySql create FUNCTION,VIEW,PROCEDURE
热门文章
- flink基础教程读书笔记
- [SCOI2003]字符串折叠
- 编译libcurl支持https协议
- MySQL 性能优化的最佳20多条经验分享(收藏)
- input(Text)控件作为填空输入,但运行后,有曾经输入的记录显示,用autocomplete=";off";解决
- 阻止事件冒泡传播stopPropagation() 阻止自身默认行为preventdefault()
- Mysql基础教程之mysql 设置参数常用方法
- java并发中的Semaphore
- Javascript学习---倒计时
- 安装mysql以及遇到的问题解决