一尘不染

如何重置JSESSIONID

jsp

当用户进行身份验证时,重置会话cookie被认为是一种很好的安全措施。

如何用Java做到这一点?

到目前为止,我的尝试是成功的,但是我想知道是否有更好的方法:

public static HttpSession resetSessionId(HttpSession session, 
      HttpServletRequest request) {
    session.invalidate();
    session = request.getSession(true);
    return session;
}

阅读 345

收藏
2020-06-08

共1个答案

一尘不染

您的答案似乎是最佳的。另一种方法是以这种方式直接操作厨师:

 Cookie cookie = new Cookie ("JSESSIONID", "randomValue");
 cookie.setMaxAge( 0 );

因此您用相同的名称创建了一个新的cookie并立即使它过期,但是我 不建议 您这样做,因为对于熟悉基本Servlet
API的任何人来说,您的cookie 都更加简洁明了。

2020-06-08