
預設情況下,ADFS 3 回應包含「X-Frame-Options: DENY」HTTP 標頭。這會阻止 ADFS 在 iframe 中運行,因為這為點擊劫持攻擊提供了機會。
然而,目前我的公司正在實施一項集成,其中應對此安全規則做出例外:特定網域上的頁面應該能夠將 ADFS 嵌入 iframe 中。
然而,ADFS 似乎不允許對此進行開箱即用的更改。那麼修改這個 HTTP 標頭的最佳方法是什麼?
例如,請按照 RFC 中的建議(https://www.rfc-editor.org/rfc/rfc7034#section-2.3.2.3)?
想要在框架中呈現所請求內容的頁面將其自己的來源資訊提供給伺服器,該伺服器透過查詢字串參數提供要建置的內容。
伺服器驗證主機名稱是否符合其標準,以便允許目標資源建立該頁面。例如,這可以透過尋找允許建立頁面的可信任網域白名單來實現。例如,對於 Facebook「讚」按鈕,伺服器可以檢查提供的主機名稱是否與該「喜歡」按鈕預期的主機名稱相符。
如果在步驟 #2 中滿足正確的條件,伺服器會在「X-Frame-Options: ALLOW-FROM」中傳回主機名稱。
瀏覽器強制執行「X-Frame-Options: ALLOW-FROM」標頭。
答案1
答案2
Microsoft 新增了 Set-AdfsResponseHeaders cmdlet: