当用户进行身份验证时,重置会话cookie被认为是一种很好的安全措施。
如何用Java做到这一点?
到目前为止,我的尝试是成功的,但是我想知道是否有更好的方法:
public static HttpSession resetSessionId(HttpSession session, HttpServletRequest request) { session.invalidate(); session = request.getSession(true); return session; }
您的答案似乎是最佳的。另一种方法是以这种方式直接操作厨师:
Cookie cookie = new Cookie ("JSESSIONID", "randomValue"); cookie.setMaxAge( 0 );
因此您用相同的名称创建了一个新的cookie并立即使它过期,但是我 不建议 您这样做,因为对于熟悉基本Servlet API的任何人来说,您的cookie 都更加简洁明了。