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下过滤数组重复值的代码
Sep 10 Javascript
jquery 表单取值常用代码
Dec 22 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 Javascript
jQuery滚动条插件nanoscroller使用指南
Apr 21 Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 Javascript
详解Angular 4.x Injector
May 04 Javascript
canvas实现弧形可拖动进度条效果
May 11 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 Javascript
vue+echarts实现多条折线图
Mar 21 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
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
第八节--访问方式
2006/11/16 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
对Python中内置异常层次结构详解
2018/10/18 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
Django对models里的objects的使用详解
2019/08/17 Python
Django实现网页分页功能
2019/10/31 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
写给老师的表扬信
2014/01/21 职场文书
优秀管理者获奖感言
2014/02/17 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
学生检讨书怎么写
2014/10/09 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
教师调动申请报告
2015/05/18 职场文书
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python