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 相关文章推荐
json简单介绍
Jun 10 Javascript
javascript 快速排序函数代码
May 30 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
jQuery简单实现遍历数组的方法
Apr 14 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
10个最优秀的Node.js MVC框架
Aug 24 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
vue-router 中 meta的用法详解
Nov 01 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
JavaScript快速调试的两个技巧
Nov 04 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
详解React中setState回调函数
2018/06/14 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
vue实现短信验证码输入框
2020/04/17 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
小程序实现tab标签页
2020/11/16 Javascript
Python入门篇之条件、循环
2014/10/17 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python脚本处理空格的方法
2016/08/08 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
高三毕业典礼演讲稿
2014/05/13 职场文书
安全目标责任书
2014/07/22 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
文员岗位职责范本
2015/04/16 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技