漏洞修复:Session会话登录前后无变化问题
这个漏洞意思是说用户登录系统前后Session变化,就是JSESSIONID没有改变

所以要在用户登录成功后在Filter(拦截器)或者登录Action里加入以下代码:
HttpServletRequest request = ServletActionContext.getRequest();
//获取旧Session
HttpSession session = request.getSession(false);
System.out.println("------------>旧session:" + session.getId());
//清空session
session.invalidate();
//重新获取session
session = request.getSession(true);
System.out.println("------------>新session:" + session.getId());
//将登录的用户保存到新Session
session.setAttribute(SysProperties.LOGIN_OBJECT, loginObject);
打印结果:
------------>旧session:45E48C020751A402A5AE5B7FDEC41B5A
------------>新session:EDE76FBC7D9DBF7CABC0ED025B350131这里要说的重点是request.getSession()参数True和False的区别:
request.get

最低0.47元/天 解锁文章
1783

被折叠的 条评论
为什么被折叠?



