js如何判断是否在iframe中及防止网页被别站用iframe嵌套


Posted in Javascript onJanuary 11, 2017

1. js如何判断是否在iframe中

Js代码

//方式一 
if (self.frameElement && self.frameElement.tagName == "IFRAME") { 
  alert('在iframe中'); 
} 
//方式二 
if (window.frames.length != parent.frames.length) { 
  alert('在iframe中'); 
} 
//方式三 
if (self != top) { 
 alert('在iframe中'); 
}

2. 防止网页被别站用 iframe嵌套

将下面的代码加到您的页面 <head></head> 位置即可:

Js代码

<script language="javascript"> 
<!-- 
if (top.location != location) 
{ 
top.location.href = location.href; 
} 
//--> 
</script> 
//或 
<script language="javascript"> 
if(self!=top){top.location.href=self.location.href;} 
</script>

这个就能让别人无法用iframe嵌套你网站的任何页面,实现的效果是:输入盗链你网站的那个地址后会自动跳到你的网站。

不可靠的原因:

当别人用如下类似代码做IFRAME嵌套调用时,就可能躲过你的页面的javascript代码。

Js代码

<iframe src="你的页面地址" name="tv" marginwidth="0" marginheight="0" scrolling="No" noResize frameborder="0" id="tv" framespacing="0" width="580" height="550" VSPACE=-145 HSPACE=-385></iframe> 
<script language="javascript"> 
var location=""; 
var navigate=""; 
frames[0].location.href=""; 
</script>

2.最可靠的方法:

为了彻底防止别人用IFRAME框架嵌套调用自己的网页,如下方法是最可靠的.

这里赋值为空页面,也可赋值为你的页面的URL地址.

Js代码

<script language="javascript"> 
if(top != self){ 
 location.href = "about:blank"; 
} 
</script>

还有一个完全屏蔽被iframe的方法就是添加:

Html代码

header("X-Frame-Options: deny"); 
header("X-XSS-Protection: 0");

这个也是加载iframe是产生错误“Load denied by X-Frame-Options: http://localhost/××××.php does not permit framing.”的原因!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 Javascript
js拆分字符串并将分割的数据放到数组中的方法
May 06 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
使用OPENLAYERS3实现点选的方法
Sep 24 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
vue异步加载高德地图的实现
Jun 19 Javascript
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
实例讲解v-if和v-show的区别
Jan 31 Javascript
js设计模式之代理模式及订阅发布模式实例详解
Aug 15 Javascript
JS实现打字游戏
Dec 17 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 #Javascript
Vue数据驱动模拟实现2
Jan 11 #Javascript
jQuery实现对象转为url参数的方法
Jan 11 #Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 #Javascript
移动端界面的适配
Jan 11 #Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 #Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 #Javascript
You might like
php header功能的使用
2013/10/28 PHP
利用js对象弹出一个层
2008/03/26 Javascript
初学JavaScript第二章
2008/09/30 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python executemany的使用及注意事项
2017/03/13 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
python递归下载文件夹下所有文件
2019/08/31 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
大学生旷课检讨书
2014/01/22 职场文书
对孩子的寄语
2014/04/09 职场文书
毕业生应聘求职信
2014/07/10 职场文书
个人工作表现自我评价
2015/03/06 职场文书
同事欢送会致辞
2015/07/31 职场文书
python中print格式化输出的问题
2021/04/16 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫