我在带有视频流的网页上使用此代码,以阻止人们使用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>
答案 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。
支持它的浏览器:
编辑:看到您要使用跨网站脚本,您必须get around the same-origin policy。