更改会话ID或使会话无效并创建新会话?

时间:2014-03-12 21:38:17

标签: java session java-ee tomcat servlets

在tomcat实现中,当会话失效并获得新的会话时:

        oldSession.invalidate();
        HttpSession newSession = request.getSession(true);

新会话实际上具有与旧会话相同的会话ID。我们在用户登录时执行此操作。这仍然容易受到会话劫持的影响。所以,我在想的是 在阀门上,旧会话未被无效,但新会话ID分配如下:

  public class SessionSecurityValue extends ValveBase {

   @Override
   public void invoke(Request request, Response response) throws IOException, ServletException {
    getNext().invoke(request, response);
        ManagerBase manager = (ManagerBase) request.getContext().getManager();
        manager.changeSessionId(request.getSessionInternal());
        request.changeSessionId(request.getSession().getId());
        request.getSession().removeAttribute("CHANGE_SESSION_ID");
   }
  }

基本上,我希望了解旧会话失效后创建新会话时的安全隐患和风险,以及旧会话的会话ID更改后的情况?

谢谢,

0 个答案:

没有答案