会话标识未更新问题

        有一段时间没有上CSDN了,今天看到有好几个网友问我“会话标示未更新问题”,以下是我的解决办法。

        我的系统在做AppScan安全扫描时,爆出一个高危漏洞:会话标识未更新。提供的解决办法是,在用户登录时始终使用新的会话。
        我仔细查看了我的系统。原来在用户进入登录页面,但还未登录时,就已经产生了一个session,用户输入信息,登录以后,session的id不会改变,也就是说还是以前的那个session(事实上session也确实不会改变,因为没有建立新session,原来的session也没有被销毁)。
        后来我做了如下改变。在我的登录servlet里面将用户刚进入登录页面的那个session用invalidate()销毁掉,在用户信息匹配成功后,再建立一个新session,将用户信息放到session中去。
本来以为这种做法应该可以解决问题了,但是再扫描发现问题还存在。再一查看,发现新建立的session与原来被销毁的session的id居然还是一样的。真是搞不懂了!
        系统背景:j2ee,jboss
        以下是我的登录servlet的代码:

···
HttpSession session = request.getSession(false);
System.out.println(session.getId());
if(session!=null){
  session.invalidate();
}
/***接下来是对用户进行认证的代码***/
···
···
/***用户认证代码结束***/

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值