域名受保护的iframe

时间:2013-08-14 20:06:37

标签: javascript html iframe

我在带有视频流的网页上使用此代码,以阻止人们使用iframe:

<script>if(self != top) { top.location = self.location; }</script>

但现在我想允许一个或多个域使用iframe嵌入页面。我查看了stackoverflow,发现了这个:

<script type="text/javascript">
if (window.top.location.host != "website.com") {
document.body.innerHTML = "Access Denied";
}
 </script>

但它不起作用。我知道必须有一种方法,因为我记得2年前有一个类似这样的网站,当我试图用iframe嵌入他们的页面时,它将我重定向到一个成人网站,iframe只在他们的域上工作。

看起来我解决了这个问题

<script>
if (top.location.host != "example.com") {
    window.location.href='http://example.com/redirected';
}
</script>

1 个答案:

答案 0 :(得分:1)

这不是正确的方法。你应该使用它来代替:

https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

<meta http-equiv="X-Frame-Options" content="deny">

或:

<meta http-equiv="X-Frame-Options" content="sameorigin">

那是因为可以很容易地从父窗口绕过javascript。

支持它的浏览器:

  • IE8
  • Safari
  • Chrome
  • 使用NoScript插件的Firefox

编辑:看到您要使用跨网站脚本,您必须get around the same-origin policy