热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【学习】禁止别人以iframe加载你的页面(客户端的处理方式)

学习资料:https:www.cnblogs.comWayoupthings_you_dont_know_about_frontend.html#comment_form_cont

学习资料:

https://www.cnblogs.com/Wayou/p/things_you_dont_know_about_frontend.html#comment_form_container

https://blog.csdn.net/dugujiancheng/article/details/51669164

https://www.cnblogs.com/lvhw/p/7107436.html

 

方法一:

  

if(window.location != window.parent.location) {
  window.parent.location = window.location;
}

 

方法二:

为了防止网站被钓鱼,可以使用window.top来防止你的网页被iframe

if(window != window.top) {
  window.top.location.href = correctURL;
}

 

方法三:

限定你的网页不能嵌套在任意网页内。如果你想引用同于的框架的话,可以判断域名。

if(top.location.host != window.location.host) {
  top.location.href = window.location.href;
}

 当然,如果你网页不同域名的话,上述就会报错。

所以,这里可以使用try...catch...进行错误不活。如果发生错误,则表明不同域,表示你的页面被盗用了。可能有些浏览器这样写不会报错,所以需要降级处理。

这时候再进行跳转即可。

try{
  top.location.hostname;//检测是否出错
  //如果没有出错,则降级处理
  if(top.location.hostname != qwindow.location.hostname) {
    top.location.href= window.location.href;
  }
}    
catch(e){
  top.location.ref = window.loction.href;
}

 

 

 

 

扩展学习:window.parent与window.top区别  https://developer.mozilla.org/zh-CN/docs/Web/API/Window/top

window.parent返回当前窗口的直接父对象,window.top返回最顶层的窗口对象。当在处理父窗口的子框架(subframe),而你想获取顶层框架时,window.top属性相当有用。


推荐阅读
author-avatar
骑单车追梦的小男孩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有