[研究]GCB,IIS,「表單驗證Cookie 模式」從預設值 UseDeviceProfile 改為 GCB 建議值 UseCookies 的影響?
2025-11-17
政府組態基準(Government Configuration Baseline,簡稱GCB)
TWGCB-04-014_Microsoft IIS 10政府組態基準說明文件v1.1_1141002
https://www.nics.nat.gov.tw/core_business/cybersecurity_defense/GCB/GCB_Documentation/
No.9
IIS 管理員\伺服器\站台\網站\管理\設定編輯器\動作\開啟功能\區段\system.web\authentication\forms\cookieless
cookieless預設值是 UseDeviceProfile
改成 UseCookies後,套用,Web.Config 結果如下
實際檢視某 ASP.NET WebForm 真實系統,該網站cookieless設定值是 UseDeviceProfile。
GCB建議是 UseCookies
表單驗證Cookie 模式 從預設值 UseDeviceProfile 改為 GCB 建議值 UseCookies 的影響?
那些功能會異常?
********************************************************************************
ChatGPT
讓我們仔細拆解:
1️⃣ 背景說明
預設值: UseDeviceProfile
- IIS 會自動依客戶端判斷是否支援 Cookie,如果支援就使用 Cookie,不支援則在 URL 中加入 Session ID。
- 某些舊版瀏覽器或限制 Cookie 的環境下,會自動 fallback 到 URL 方式(cookieless URL)。
GCB 建議值: UseCookies
- 強制 只使用 Cookie 來儲存 Forms Authentication ticket。
- 不使用 URL 中的 Session ID,不允許 fallback。
2️⃣ 主要影響
| 功能 / 模組 | 可能影響 |
|---|---|
| Forms Authentication 登入驗證 | 需要瀏覽器支援 Cookie,否則登入會失敗或無法保持登入狀態。 |
| 跨頁 Session 狀態 | 如果應用程式使用 cookieless Session(Session ID 放 URL)功能,將失效。 |
| 外部連結或 bookmark | 如果原本有 URL 中的 Session ID(舊系統),GCB 設定後會無效。 |
| 舊版瀏覽器支援 | IE6 / 非標準瀏覽器可能無法登入,因為不支援 Cookie。 |
| 負載平衡 / 多節點環境 | 若 Session 依賴 URL 參數來保持狀態,UseCookies 可能需要改成中央 Session 儲存(State Server / SQL Server)才能正常工作。 |
3️⃣ 功能異常範例
- 使用舊版瀏覽器或禁用 Cookie 的瀏覽器 → 登入失敗。
- 原本透過 URL 共享的登入 Session → 失效。
- 一些第三方應用程式或 AJAX 呼叫,若依賴 cookieless URL → 可能無法驗證身份。
4️⃣ 建議做法
- 測試影響範圍:
- 瀏覽器支援度:Chrome / Edge / Firefox / Safari OK。
- 舊版 IE、行動裝置瀏覽器測試。
- 檢查應用程式 Session 使用方式:
- 是否依賴 cookieless Session ID(URL)?
- 若依賴,需改成 Cookie / Server Side Session。
- 強制 HTTPS + Secure Cookie:提升安全性,同時符合 GCB 建議。
✅ 結論
- 將 cookieless 從 UseDeviceProfile 改為 UseCookies 主要影響舊瀏覽器或禁用 Cookie 的使用者,現代瀏覽器大多無問題。
- 依賴 URL 中 Session 的自訂功能或老舊應用程式可能異常。
(完)


沒有留言:
張貼留言