前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >防止别人 iframe 自己的页面

防止别人 iframe 自己的页面

作者头像
Savalone
发布2020-02-11 14:18:44
1.2K0
发布2020-02-11 14:18:44
举报
文章被收录于专栏:Savalone's BlogSavalone's Blog

一、如果对方是静态调用 iframe,用 js 阻止即可,

代码语言:javascript
复制
<script>
if ( top !== self ) top.location.replace( self.location.href );
</script>

二、如果对方是动态调用的(类似于下方代码),又禁用了自己页面的 js 的话,

代码语言:javascript
复制
<script type="text/javascript" charset="utf-8">
document.write('<iframe seamless sandbox security="restricted" id="url_mainframe" frameborder="0" scrolling="yes" name="main" src="http://www.mypage.com/this.html" style="height:100%; visibility: inherit; width: 100%; z-index: 1;overflow: visible;"></iframe>');
</script>

可在 php 文件里加上 X-Frame-Options 响应头代码

代码语言:javascript
复制
header('X-Frame-Options:Deny');

X-Frame-Options 有三个值

分别是 “DENY”、“SAMEORIGIN”、“ALLOW-FROM http://domain.com/url.html”

DENY:表示该页面禁止 frame,即使是同域名的页面中嵌套也不允许。 SAMEORIGIN:表示该页面可以在同域名页面的 frame 中展示。 ALLOW-FROM url:表示该页面可以在指定来源的 frame 中展示。

三、踩坑!下面这种直接在 html 的 head 中加 meta 是没用的,切记。

代码语言:javascript
复制
<meta http-equiv="X-Frame-Options" content="deny">
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年10月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档