2009-11-06 134 views
3

注意:這不是與[RequireSSL]屬性相關的ASP.NET MVC問題。這完全不同 - 只是具有相同的名稱。爲什麼FormsAuthentication的requireSSL屬性的默認值爲false!


ASP.NET窗體身份驗證具有RequireSSL屬性,該屬性要求,對於ASP.NET成員身份驗證cookie將通過SSL永遠只能發送。這是爲了防止某人竊取cookie(例如通過網絡嗅探)和冒充用戶。

所以我想知道 - 所有安全意識的變化MS已作出(例如使httpOnly cookies默認)爲什麼requireSSL不是默認爲true

餅乾嗅覺被認爲是'neglibigle'的安全風險嗎?

除非連接實際允許我訪問安全/個人數據,否則將其視爲可接受的風險?如果它不可接受 - 我該如何將用戶返回到http並仍然知道他們是誰?

爲了防止窗體身份驗證被抓獲 餅乾和 與在穿越 網絡篡改,保證您使用SSL與 需要由認證 准入和限制的形式 身份驗證票證,以SSL通道 所有頁面在 元素上設置requireSSL =「true」。

要限制表單認證 cookies來SSL通道

集requireSSL =「真」的元素, 上,如圖下面的代碼。

通過設置requireSSL =「true」時,你設置 是 決定瀏覽器是否應該 發送cookie回服務器的安全cookie屬性。 通過設置安全屬性,瀏覽器僅將 Cookie發送到 安全頁面,該頁面使用 請求HTTPS URL。

注:如果您使用的cookie的 會話,你必須確保 身份驗證票證是從來沒有 跨越不安全 信道傳輸。

+0

我猜這是因爲網站默認情況下不是SSL。你需要一個SSL證書來完成這項工作。 – Greg 2010-11-22 20:27:03

回答

2

由於您需要SSL證書,如果您打開該證書,並且這些通常需要花費才能獲得。您還可以使用瀏覽器會話來控制非安全信息 - 在某些公共網站中,這些信息可能完全是您想要做的。在那種情況下,有人竊取他人的會話cookie沒有任何敏感信息 - 那麼爲什麼要花錢購買和安裝SSL證書呢?

相關問題