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 相关文章推荐
jQuery数组处理代码详解(含实例演示)
Feb 03 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
javascript实现表格增删改操作实例详解
May 15 Javascript
全面理解JavaScript中的闭包
May 12 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
Jul 11 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
Feb 04 Javascript
教你快速搭建Node.Js服务器的方法教程
Mar 30 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
原生JS生成指定位数的验证码
Oct 28 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
Vue+Element实现网页版个人简历系统(推荐)
2019/12/31 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
django实现模型字段动态choice的操作
2020/04/01 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
毕业生多媒体设计求职信
2013/10/12 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
销售部主管岗位职责
2013/12/18 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
毕业生工作求职信
2014/06/30 职场文书
功夫熊猫观后感
2015/06/10 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书