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 Timer实现代码
Feb 17 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
Oct 26 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
在Node.js应用中读写Redis数据库的简单方法
Jun 30 Javascript
javascript实现简单的进度条
Jul 02 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
Aug 22 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
关于在Servelet中如何获取当前时间的操作方法
Jun 28 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
jquery实现购物车基本功能
Oct 25 jQuery
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中cookie的作用域
2008/03/27 PHP
php 显示指定路径下的图片
2009/10/29 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php搜索文件程序分享
2015/10/30 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python利用正则表达式提取字符串
2016/12/08 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
质检部经理岗位职责
2014/02/19 职场文书
产品质量承诺范本
2014/03/31 职场文书
房产买卖委托公证书
2014/04/04 职场文书
警示教育片观后感
2015/06/17 职场文书
消费者投诉书范文
2015/07/02 职场文书
表彰大会新闻稿
2015/07/17 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python