我遇到了asp.net的安全问题。在注销时,我想确保会话被销毁,以便有人不能使用相同的sessionid和auth cookie并在那里编辑cookie,服务器仍然会响应会话。
FormsAuthentication.SignOut();
Session.Abandon();
Session.RemoveAll();
Session.Clear();
我尝试过在不同的订单中使用以下内容,但仍然没有骰子。如果我使用原始的sessionid和Auth cookie,我仍然可以登录。我希望服务器在我注销时完全忘记该sessionid。这甚至可能吗?
答案 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();