在用户进行身份验证时重置会话cookie被认为是一种很好的安全做法.
如何用Java做到这一点?
到目前为止我的尝试是成功的,但我想知道是否有更好的方法:
public static HttpSession resetSessionId(HttpSession session,
HttpServletRequest request) {
session.invalidate();
session = request.getSession(true);
return session;
}
Run Code Online (Sandbox Code Playgroud)
你的答案似乎是最佳的。另一种方法是以这种方式直接操作厨师:
Cookie cookie = new Cookie ("JSESSIONID", "randomValue");
cookie.setMaxAge( 0 );
Run Code Online (Sandbox Code Playgroud)
因此,您创建一个具有相同名称的新 cookie 并立即使其过期,但我不建议采用这种方式,因为您的 cookie 对于熟悉基本 Servlet API 的任何人来说都更加干净且非常明显。
| 归档时间: |
|
| 查看次数: |
10969 次 |
| 最近记录: |