阿里云服务器免费领卷啦。

捡代码论坛-最全的游戏源码下载技术网站!

 找回密码
 立 即 注 册

QQ登录

只需一步,快速开始

搜索
关于源码区的附件失效或欺骗帖, 处理办法
查看: 2098|回复: 0

js如何判断是否在iframe中及防止网页被别站用 iframe嵌套 (Load denied by X-Frame-Options)

[复制链接]

4213

主题

210

回帖

12万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
127206
QQ
发表于 2017-2-18 15:19:38 | 显示全部楼层 |阅读模式
js如何判断是否在iframe中及防止网页被别站用 iframe嵌套 (Load denied by X-Frame-Options).
1. js如何判断是否在iframe中
  1. //方式一  
  2. if (self.frameElement && self.frameElement.tagName == "IFRAME") {  
  3.          alert('在iframe中');  
  4. }  
  5. //方式二  
  6. if (window.frames.length != parent.frames.length) {  
  7.          alert('在iframe中');  
  8. }  
  9. //方式三  
  10. if (self != top) {   
  11.      alert('在iframe中');  
  12. }  
复制代码


2. 防止网页被别站用 iframe嵌套

将下面的代码加到您的页面

  1. <head></head>
复制代码

位置即可:


  1. <script language="javascript">  
  2. <!--  
  3. if (top.location != location)  
  4. {  
  5. top.location.href = location.href;  
  6. }  
  7. //-->  
  8. </script>  
  9.   
  10. //或  
  11.   
  12. <script language="javascript">  
  13. if(self!=top){top.location.href=self.location.href;}   
  14. </script>  
复制代码

这个就能让别人无法用iframe嵌套你网站的任何页面,实现的效果是:输入盗链你网站的那个地址后会自动跳到你的网站。


不可靠的原因:
当别人用如下类似代码做IFRAME嵌套调用时,就可能躲过你的页面的javascript代码。



  1. <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>  
  2. <script language="javascript">   
  3. var location="";  
  4. var navigate="";  
  5. frames[0].location.href="";  
  6. </script>  
复制代码


2.最可靠的方法:
为了彻底防止别人用IFRAME框架嵌套调用自己的网页,如下方法是最可靠的.
这里赋值为空页面,也可赋值为你的页面的URL地址.

  1. <script language="javascript">  
  2. if(top != self){  
  3.     location.href = "about:blank";  
  4. }  
  5. </script>  
复制代码
还有一个完全屏蔽被iframe的方法就是添加:
  1. header("X-Frame-Options: deny");  
  2. header("X-XSS-Protection: 0");  
复制代码


这个也是加载iframe是产生错误“Load denied by X-Frame-Options: http://localhost/××××.php does not permit framing.”的原因!

捡代码论坛-最全的游戏源码下载技术网站! - 论坛版权郑重声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与捡代码论坛-最全的游戏源码下载技术网站!享有帖子相关版权
3、捡代码论坛版权,详细了解请点击。
4、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
5、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
6、如无法链接失效或侵犯版权,请给我们来信:jiandaima@foxmail.com

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立 即 注 册

本版积分规则

技术支持
在线咨询
QQ咨询
3351529868

QQ|手机版|小黑屋|捡代码论坛-专业源码分享下载 ( 陕ICP备15015195号-1|网站地图

GMT+8, 2025-1-23 02:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表