2013年曾寫了一篇關於「保護 Cookie 的安全(Secure 與 HttpOnly)」的博文,原由是Web系統進行黑箱掃描時,出 [加密的階段作業 (SSL) Cookie 中遺漏安全屬性] 的弱點,在 .Net 2.0 之後,這個問題可以透過 Web.config 中加入「<httpCookies httpOnlyCookies="true" requireSSL="true" />」(在<system.web>區段內)來增加安全性。
但啟用<httpCookies httpOnlyCookies="true" requireSSL="true" />後,進行Debug時會發現使用者經Login.aspx網頁完成登入後,原本將帳號資訊記錄到 Session 之中,並執行FormsAuthentication.SetAuthCookie 將狀態記錄 Cookie,在執行 FormsAuthentication.SetAuthCookie 之後,Session 物件確實已建立,隨者利用 Response.Redirect 轉址到作業的頁面後,又被導回 login.aspx,利用trace 發現轉址到作業頁面時,Session 被成空的。
在網路上找了很多資料,高手建議的解法有:
- Response.Redirect("work.aspx", false)
- FormsAuthentication.RedirectFromLoginPage
- Server.Transfer
感謝解答!
回覆刪除昨天剛好碰上相同問題,此篇有解到!
很高興這篇博文能幫上忙!
刪除幫了大忙!感謝!!!
回覆刪除能幫上忙,真是太好了!
刪除