2014-09-05 86 views
1

我遇到了asp.net安全問題。在註銷時,我想確保會話被銷燬,以便有人不能採用相同的sessionid和auth cookie並編輯那裏的cookie,並且服務器仍然響應會話。Asp.net在註銷時擺脫服務器上的會話

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

我試過在不同的命令中使用以下命令,但仍然沒有骰子。如果我使用原始的sessionid和Auth cookie,我仍然可以登錄。我希望服務器在註銷時完全忘記該sessionid。這甚至有可能嗎?

回答

3

如果您正在使用FormAuthentication那麼你可以使用

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

您也可以過期餅乾如果使用窗體身份驗證,你可能不叫FormsAuth.SignOut如下

// 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); 
+0

對不起,我正在做FormsAuthentication.Signout()以及didn;不提及它 – 2014-09-05 12:55:18

+0

好吧,我做了更多的測試,這確實清除了瀏覽器的cookie,但不是從服務器的任何想法? – 2014-09-05 16:58:40

0

();

+0

刷新和閱讀...我忘了提及 – 2014-09-05 12:56:25