2012-08-29 59 views
7

我使用http://www.jacklmoore.com/colorbox在燈箱中顯示url的內容。執行後,顏色框沒有顯示任何東西。X-Frame-Options SAMEORIGIN在我的域名上阻止iframe

後,我發現在鉻記錄以下錯誤:

Refused to display document because display forbidden by X-Frame-Options. 

所以記錄後,我加入以下行網站的根目錄的.htaccess:

Header always append X-Frame-Options SAMEORIGIN 

允許的iframe嵌入在我自己的領域。

但我仍然得到錯誤,我是新手到X幀,我正在一個現有的應用程序,所以我認爲.htaccess解決方案會很好,但它可以被一些代碼覆蓋?注意它不在服務器配置中。

回答

13

發送另一個X-框架,選項報頭,添加

<?php header('X-Frame-Options: GOFORIT'); ?> 

到你的頁面的頂部。 它應該禁用SAMEORIGIN命令。

+0

我測試沒有成功,然後我放棄了,讓我的popin內聯>。<但它仍然很奇怪,SAMEORIGIN應該允許我在我的域中嵌入iframe。 – SupFrig

+1

在嘗試了一大堆其他的「修復」讓Wordpress在iFrame中渲染之後,這個FINALY是讓它適合我的! – Evildonald

+0

嗨,我試試這個,但我沒有成功,請告訴我,我需要把它放在我的WordPress站點?謝謝 –

4

根據moz dev頁面。這裏是

SAMEORIGIN
網頁只能在同一個原點爲 頁面本身顯示在框架的定義。

這意味着,只有當您包含您網站的某個網頁時纔會顯示。
我們假設

  1. 你有一個網站上http://foo.com和你想要的東西從http://foo.com/sec_page iframe來顯示它會在iframe中顯示
  2. 但如果包含了相同的IFRAME(http://foo.com/sec_page)在http://bar.com加載那麼它不會顯示任何東西。原點將被改變。

您可以閱讀full note here

1

您可以刪除從響應你的頭:

header_remove( 「X - 框體 - 選項」);

0

將XFrame選項設置爲DENY或Sameorigin。否則,如果您的站點容易受到XSS攻擊,則可能有助於製作網絡釣魚攻擊或幀注入。

0

我在httpd.conf添加了這個:

Header unset X-Frame-Options 

和它的作品。