Http
有關使用 ASP.NET 和 IIS 的路徑屬性保護 cookie 的資訊
我需要幫助來保護我的 Web 應用程序的 cookie。它部署在 IIS 中並在 ASP.NET MVC 中建構。這些是我需要獲得更多資訊的事情
- IIS 管理器中的站點文件夾也是虛擬目錄嗎?
- 如果 Sites 不是虛擬目錄,則 a. 如果網站直接部署在 IIS 管理器的 Sites 文件夾下,那麼對於同一 Sites 文件夾下的其他不安全應用程序是否真的容易受到攻擊?或 b。只有在虛擬目錄的情況下才會是漏洞嗎?
- 預設情況下,所有 cookie 的路徑屬性都以“/”作為其值指向根目錄。它是否指向站點下 Web 應用程序的層次結構級別,是否會影響其他非安全應用程序?或者它是否僅指向為其創建 cookie 的 Web 應用程序?
看完這篇文章,我提出了以上問題。只需在頁面上查找路徑屬性。
如果我真的需要設置 cookie 路徑,那麼還有一件事,它們是使用我的 Web 應用程序自動生成的,例如會話 ID、防偽令牌。所以我不能在它們上設置 Path 屬性,因為我不是通過 HttpCookie 對象創建它們的。
我試圖通過Google搜尋盡可能多地收集清楚的解釋,但很難弄清楚流程。
在 IIS 管理器中,“站點”既不是虛擬目錄,也不是“文件夾”。它是一個節點。在它下面是 IIS 中定義的所有單個網站。僅此一項就沒有傳達有關 cookie 是否可以跨站點共享的具體資訊。
瀏覽器決定哪些 cookie 將與哪個請求一起發送,它並不關心您如何在 IIS 中定義站點,或者可能存在於這些站點下的虛擬目錄……它只關心特定請求的屬性,以及它儲存的 cookie 集的屬性,並通過將請求的屬性與 cookie 的屬性進行比較,它決定發送哪些 cookie。
它可能涉及的一些特定屬性:請求的域或地址、請求的路徑、請求的協議、設置 cookie 的域或地址、cookie 的域屬性、路徑屬性cookie,以及 cookie 上的安全標誌。
這些值可能僅映射到 IIS 中的單個站點,或者當您使用子域設置站點時,它們可能映射到多個站點。所以,沒有一般規則。您必須檢查您的配置以確定哪些站點將匹配任何給定的 cookie 來源。