繁体   English   中英

禁止iframe显示页面

[英]Disallow iframes from displaying page

如何禁止人们在iframe中使用我的页面。 是否可以仅使用HTML,还是必须使用JavaScript / jQuery?

有两种不同的方法可以解决此问题,在“ 破坏框架破坏”一文中对此进行了详细说明,如果有机会,我强烈建议您阅读。

前两个选项使用的是HTTP标头,它不使用任何HTML,JavaScript / jQuery,但需要在Web服务器上进行配置。

  1. 使用X-FRAME-OPTIONS标头。

    • X-FRAME-OPTIONS: deny -帧内无渲染
    • X-FRAME-OPTIONS: sameorigin如果原点不匹配,则不渲染
  2. Content-Security-Policy标头允许您使用frame-ancestors指令来指定允许哪些来源将页面嵌入到框架或iframe中。 这样做的缺点是,它没有提供实施边际政策的方法。

编辑frame-ancestors实际上是内容安全策略级别2的一部分, 在这里可以看到兼容性

建议的方法是在页面顶部使用以下代码段。 如果经过格式化,它将隐藏您页面的内容,否则将显示该内容。

<style> html {display:none;} </style>
<script>
   if (self == top) {
       document.documentElement.style.display = 'block'; 
   } 
   else {
       top.location = self.location; 
   }
</script>

使用突破iframe脚本:

<script type="text/javascript">
        if (top.location != self.location) {
            top.location = self.location.href;
        }
</script>   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM