注销时,Asp.net在服务器上摆脱会话

时间:2014-09-05 12:52:20

标签: c# asp.net security session session-cookies

我遇到了asp.net的安全问题。在注销时,我想确保会话被销毁,以便有人不能使用相同的sessionid和auth cookie并在那里编辑cookie,服务器仍然会响应会话。

FormsAuthentication.SignOut();
Session.Abandon();
Session.RemoveAll();
Session.Clear(); 

我尝试过在不同的订单中使用以下内容,但仍然没有骰子。如果我使用原始的sessionid和Auth cookie,我仍然可以登录。我希望服务器在我注销时完全忘记该sessionid。这甚至可能吗?

2 个答案:

答案 0 :(得分:3)

如果您使用的是FormAuthentication,则可以使用

FormsAuthentication.SignOut();
Session.Abandon();

您还可以按如下方式使Cookie过期

// clear authentication cookie
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
cookie1.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie1);

HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);

答案 1 :(得分:0)

如果您使用的是表单身份验证,则可能不会调用FormsAuth.SignOut();