在某些Web應用程序我注意到有用於X-框架選項設置選項首像設置爲「拒絕拒絕」
X框,選擇X-框選項選項應該錯誤地添加了兩次)。
在這種情況下,將在瀏覽器服從於這樣報頭,因爲它是爲服從
X框-選項:DENY。
否則將它排除考慮爲無意義的這個頭選項「拒絕拒絕」無意義
如果服從,會發生什麼事的場景,如
X框選項:DENY SAMEORIGIN
在某些Web應用程序我注意到有用於X-框架選項設置選項首像設置爲「拒絕拒絕」
X框,選擇X-框選項選項應該錯誤地添加了兩次)。
在這種情況下,將在瀏覽器服從於這樣報頭,因爲它是爲服從
X框-選項:DENY。
否則將它排除考慮爲無意義的這個頭選項「拒絕拒絕」無意義
如果服從,會發生什麼事的場景,如
X框選項:DENY SAMEORIGIN
瀏覽器處理X-Frame-Options: DENY DENY
就好像它只是X-Frame-Options: DENY
。
Safari以前的had a bug that caused it to ignore X-Frame-Options
如果它有重複的值,並且Chrome繼承了the same bug。而且Firefox以前也是had pretty much the same bug。
但是,它們都已經被修復了:它們的行爲與它們的值相同。
如果服從,會發生什麼事的場景,如
X-Frame-Options: DENY SAMEORIGIN
對於這種情況,what Mozilla ended up implementing(和Safari和Chrome結束了以下)是:
使用最嚴格的政策......如果構圖情況違反其中任何一項,則阻止負載
因此,X-Frame-Options: DENY SAMEORIGIN
的瀏覽器行爲是DENY
(最具限制性)。
因此,不幸的是,雖然沒有權威的規範指出如果頭部有多個值時所需的行爲是什麼 - 因爲the X-Frame-Options
spec, RFC 7034實際上並沒有說明需求是什麼 - 實際上,當前的Safari/Chrome/Firefox行爲是預期的行爲。不知道IE/Edge是做什麼的,但是如果它與Safari/Chrome/Firefox不同,那麼這也是一個需要在IE/Edge中修復的bug。