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 相关文章推荐
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
Mar 30 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
Oct 10 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
Feb 26 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
微信小程序实现通过js操作wxml的wxss属性示例
Dec 06 Javascript
Vue 权限控制的两种方法(路由验证)
Aug 16 Javascript
js实现简易计算器功能
Oct 18 Javascript
超详细小程序定位地图模块全系列开发教学
Nov 24 Javascript
layui使用及简单的三级联动实现教程
Dec 01 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魔术引号所带来的安全问题分析
2014/07/15 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
JavaScript 对象模型 执行模型
2009/12/06 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
python批量修改文件名的示例
2020/09/27 Python
python 模拟登录B站的示例代码
2020/12/15 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
世界上最好的足球商店:Unisport
2019/03/02 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
医学专业职业生涯规划范文
2014/02/05 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
课题研究阶段性总结
2015/08/13 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书