gpt4 book ai didi

asp.net - ASP.NET 中的 Session.Clear() 和 Session.Abandon() 后 session 变量未清除

转载 作者:行者123 更新时间:2023-12-02 04:47:54 24 4
gpt4 key购买 nike

在我们的网站上运行渗透测试后,我们的 IT 安全人员指出我们服务器上的 session ID 在用户注销后不会被清除。

我们清除 session 的代码如下:

Session.Clear()
Session.RemoveAll()
Session.Abandon()

Dim Cookie1 As HttpCookie = New HttpCookie(FormsAuthentication.FormsCookieName, "")
Cookie1.Expires = DateTime.Now.AddYears(-1)
Response.Cookies.Add(Cookie1)

Dim Cookie2 As HttpCookie = New HttpCookie("ASP.NET_SessionId", "")
Cookie2.Expires = DateTime.Now.AddYears(-1)
Response.Cookies.Add(Cookie2)

FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()

我们通过让 UserA 登录并根据该登录伪造 cookie 来确认这一点。 UserA注销后,我们登录UserB,正如预期的那样,我们获取了UserA的sessionID中存储的所有 session 值。

有没有其他方法可以清除session数据?

最佳答案

根据 MSDN , Session.ClearSession.RemoveAll 做同样的事情。您需要在调用 Clear 之前调用它:

System.Web.Security.FormsAuthentication.SignOut()

关于asp.net - ASP.NET 中的 Session.Clear() 和 Session.Abandon() 后 session 变量未清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31396945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com