2017-08-07 32 views
0

登录后可以再生我有一个要求,其中会话ID应该登录和新的会话ID应该重新生成后无效,会话ID应该

这样的预饼干和邮政Cookie的不应该是相同的,帖子的cookie应在服务器端验证。

我用这一段代码到会话失效:

req.getSession(false).invalidate(); 
req.getSession(true); 

我能够改变会话ID,但它会注销。我使用burp工具套件测试了相同的场景。我得到这些结果:

虽然登录:

Cookie: navi=1-1-0-; SOSESSIONID=pxtc730f4259; SSO_ID=4419102748602016135; CSSOSESSIONID=20971435-a754-43d5-aa56-7083e2dba55b; JSESSIONID=jpofvmzlses2 
Connection: close 
Upgrade-Insecure-Requests: 1 

登录后:

Cookie: SSO_ID=; navi=1-1-0-; SOSESSIONID=ssnuqpjpal2i; SSO_ID=323568307087821651; CSSOSESSIONID=20971435-a754-43d5-aa56-7083e2dba55b; JSESSIONID=jpofvmzlses2 
Connection: close 

但在图形用户界面,如果我点击任何东西后,我重定向到登录页面。

你可以请帮助我如何在登录后重新生成会话ID,以便相同的ID不应该继续通过?

+1

为什么?它仍然是同一届会议。登录后唯一的区别是现在它已经过身份验证,拥有主题,主体,角色等。 – EJP

+0

哟如何处理登录?您可能使用会话。如果您使其无效,则需要将该信息从旧会话复制到新会话。 – Oleg

回答

0

要处理session fixation,您可以在登录用户之前使会话无效并开始新会话。

一旦你取用户名和密码,使旧会话失效并创建新会话,然后检查登录凭据,这应该可以解决问题。