2013-03-11 25 views
1

我注意到至少有一個網站在iframe中包含我的網站,我很好奇禁止這種行爲的最佳方法。有沒有辦法設置iframe黑名單?

我已經加入了一些Javascript,如果一個網站正在構建我的網站,那麼我應該可以拿起一些Javascript來生成我想阻止的網站列表。但是,有些網站我不想拒絕iframing。

是否有可能通過IIS(7)查看站點列表,並且如果請求來自該列表中的站點,以某種方式失敗或阻止請求?

謝謝!

回答

1

使用X-Frame-Options: deny HTTP標頭可阻止任何來自的人訪問您的網站。如果您希望能夠您自己的網站,但阻止他人這樣做,只需使用
X-Frame-Options: sameorigin

More reading on X-Frame-Options over at MDN.

邊注:一般黑名單不適用於保障工作。 白名單是正確的方法。


的允許,從只允許一個單一的URI,這意味着如果我使用Facebook URI它會殺死我的圖片上傳,如果我使用SAMEORIGIN圖像上傳(以及任何我自己的iframes)會起作用,但它會殺死Facebook。你知道是否有任何形式的Allow-From和Sameorigin的組合,以便它們都被強制執行?

This is not possible given the current spec.你可以,但是,使用2個不同的網址提供相同的內容:一個是在Facebook的iframing(發送allow-from),一個爲自己的I幀(發送sameorigin)。不是很好,但總比沒有好。

+0

我試着將X-Frame-Options設置爲'拒絕',但它關閉了所有的iframe(這是預期的)。我有我的網站上的iframe頁面,我需要保持可用的Facebook頁面。該設置也與我的圖像上傳腳本混淆,它會執行一些奇怪的iframe操作。 – jmastic 2013-03-11 17:59:46

+0

雖然我同意使用白名單方式。如果可能的話,這可能是更好的方法。 – jmastic 2013-03-11 18:00:10

+0

好的,請使用'allow-from:'。 – 2013-03-11 18:00:36

相關問題