我在同一域上有2个不同的ASP.NET应用程序,在IIS上有不同的应用程序池。应用程序1使用window.open(url)
打开应用程序2。在此阶段,cookie在两个应用程序之间共享。
应用程序2在登录后运行以下代码:
Context.Response.Cookies["ASP.NET_SessionId"].Value = string.Empty;
Context.Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMonths(-20);
此代码的目的是为了防止会话固定漏洞,从而使攻击者可以在登录前窃取会话ID,并在登录后使用该会话ID验证自己是否为合法用户。
但是,这也会更改应用程序1上的会话ID,从而有效地使用户从应用程序中注销。 如何防止这种情况发生?以及我还能采用什么其他方法?
答案 0 :(得分:0)