[英]Disallow iframes from displaying page
如何禁止人们在iframe中使用我的页面。 是否可以仅使用HTML,还是必须使用JavaScript / jQuery?
有两种不同的方法可以解决此问题,在“ 破坏框架破坏”一文中对此进行了详细说明,如果有机会,我强烈建议您阅读。
前两个选项使用的是HTTP标头,它不使用任何HTML,JavaScript / jQuery,但需要在Web服务器上进行配置。
使用X-FRAME-OPTIONS
标头。
X-FRAME-OPTIONS: deny
-帧内无渲染 X-FRAME-OPTIONS: sameorigin
如果原点不匹配,则不渲染 Content-Security-Policy
标头允许您使用frame-ancestors
指令来指定允许哪些来源将页面嵌入到框架或iframe中。 这样做的缺点是,它没有提供实施边际政策的方法。
Content-Security-Policy: frame-ancestors *.twitter.com;
示例Content-Security-Policy: frame-ancestors *.twitter.com;
编辑 : 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.