Cookie会话的替代方案,用于同一域内的不同应用程序

时间:2019-03-23 06:22:26

标签: javascript asp.net asp.net-mvc session session-cookies

我在同一域上有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,从而有效地使用户从应用程序中注销。 如何防止这种情况发生?以及我还能采用什么其他方法?

1 个答案:

答案 0 :(得分:0)