上周在工作中我们注意到,如果您尝试在 iFrame 中显示 YouTube 页面,您会看到一个页面,指出这是不允许的。将显示一个链接,可将您直接带到该页面。我们查看了其他社交媒体网站,Facebook 和 Twitter 也这样做。
我有两个问题。一、这是如何做到的?我猜这是一张类似以下的支票:
if(window != top){
// display 'error' page
}
另一个问题是为什么要这样做?我的第一个想法是这可能与安全有关,但我想得越多,我就越认为这是一个合法的事情或一个营销决定。
最佳答案
网站不希望其他网站窃取其内容。我记得早在九十年代就实现过类似的事情。你几乎回答了你自己的问题。然而,这也是一个安全问题。至少在 Twitter 上,曾经有一些恶意网站,它们会执行以下操作:
- 制作一些关于发推文或发布内容的废话网站,显示某种形式。
- 包含一个指向 http://twitter.com/share?text=SPAM_TEXT_HERE 的 iframe
- 将该 iframe 放置到 bs 网站表单按钮所在的位置。
- 滚动 iframe,以便 iframe 中仅显示“Tweet”按钮。
这样他们就能让人们发布垃圾推文。
关于javascript - 社交媒体网站阻止其他网站在 iFrame 中显示其页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924043/