2015-04-29 65 views
2

我已經爲我的.htaccess添加了一個X-FRAME-OPTION標頭,以防止點擊頂起問題。如何爲不同的頁面設置不同的x幀選項

<IfModule mod_headers.c> 
    Header append X-Frame-Options "SAMEORIGIN" 
</IfModule> 

現在我需要允許通過外部域的iframe訪問某個路由。我使用PHP,並且試圖通過覆蓋X框選項報頭:

header('X-Frame-Options: GOFORIT'); 

但是看來該X框選項不被覆蓋而是被重新所附按照以下瀏覽器錯誤(Chrome):

Multiple 'X-Frame-Options' headers with conflicting values ('GOFORIT, SAMEORIGIN') encountered when loading 'https://foo.com/baz/1'. Falling back to 'DENY'. 

你如何去覆蓋某些頁面的x-frame-options?

回答

0

像大多數指令一樣,您可以將這些指令包裝在<Location><LocationMatch>之內,以限制它們適用的URL。

此外,如果您打算覆蓋標題,請使用「標題集」而不是「標題附加」。

0

經過一番仔細考慮後,我最終將頭附件移動到應用程序代碼。在我的情況下,我正在使用codeigniter,所以我最終在鉤子中附加了x-frame-option標頭。

Covener的解決方案也是一種可能性,但您似乎必須有權訪問apache配置文件或虛擬主機文件,因爲<location><locationMatch>無法在.htaccess文件中使用。

相關問題