在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更改后的情况?
谢谢,