【发布时间】:2019-08-14 02:57:31
【问题描述】:
我在同一个域上有 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);
此代码的目的是防止 Session Fixation 漏洞,攻击者可以利用该漏洞在登录前窃取会话 ID,并在登录后使用它来验证自己是否为合法用户。
但是,这也会更改应用程序 1 上的会话 ID,从而有效地将用户从应用程序中登录。 我怎样才能防止这种情况发生?以及我可以遵循哪些其他方法?
【问题讨论】:
-
您可以设置cookie的有效路径。虽然不知道如何使用 asp.net 来做到这一点
标签: javascript asp.net asp.net-mvc session session-cookies