2011-08-03 134 views
0

上週在工作中我們注意到,如果您嘗試在iFrame中顯示YouTube網頁,則會顯示一個頁面,指出不允許這樣做。顯示一個鏈接,您可以直接進入該頁面。我們研究了其他社交媒體網站,Facebook和Twitter也都這樣做。社交媒體網站阻止其他網站在iFrame中顯示其網頁

我有兩個問題。一個是如何完成的?我的猜測是這樣的檢查:

if(window != top){ 
    // display 'error' page 
} 

另一個問題是爲什麼這樣做?我首先想到的可能是安全問題,但我越想到它,就越是認爲這是法律事務或營銷決策。

回答

2

網站不希望其他網站竊取他們的內容。我記得早在九十年代就實施過這樣的事情。你幾乎回答了你自己的問題。但是,這也是一個安全問題。至少在推特上,曾經有一些惡意網站,它會做到以下幾點:

  1. 做一些關於推特或張貼東西,顯示某種形式的bs網站。
  2. 包含一個指向http://twitter.com/share?text=SPAM_TEXT_HERE的iframe
  3. 將iframe放置到bs網站表單的按鈕所在的位置。
  4. 滾動iframe,使iframe中只顯示「Tweet」按鈕。

這樣他們會讓人們發微博推文。

+0

我想我有一些合理的猜測,但有一些確定的理由是很好的。乾杯。 –

1

問題是在YouTube的政策,我給你通過YouTube的大衛·博伊爾和官方的回答對API的頁面https://developers.google.com/youtube/player_parameters?hl=it

你好的YouTube API開發者正確的嵌入選項,

這週三,1月12日,YouTube.com網絡團隊將執行更改以防止網站在其網頁上通過(或<frame>)在其網頁上包含www.youtube.com 網站。在此 更改之後,指向www.youtube.com的將停止在YouTube網站上顯示 ,而是顯示空白頁面。

雖然這種變化沒有直接關係到YouTube的API,我們做了 要宣佈的關閉機會提前這種變化在任何一個YouTube API開發人員那裏也包括www.youtube.com在其網站上的 頁面通過框架。我們也想清楚這種變化是不是意味着 影響官方的YouTube視頻嵌入API

(described at http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html), 

應保持完全運行狀態。它僅用於影響 非嵌入式API使用情況。

如果您已經包括www.youtube。COM在您的網頁,因爲你 是不知道怎麼回事嵌入視頻,這個YouTube幫助文章 細節嵌入的官方方法:

http://www.google.com/support/youtube/bin/answer.py?hl=en&answer=171780 

最佳 馬里奧

+0

嗨馬里奧。感謝您的回覆,但這並不能告訴我他們爲什麼選擇實施它,只是他們確實實施了它。 –

+0

這就是說,它確實提供了關於YouTube的額外信息和建議,所以我投票支持你。我可以看到它是如何幫助別人的。謝謝。 –