使用设置报头x-Frame-Options限制iframe网页嵌套

x-frame-options的出现一部分是为了防止一些别有用心的者制作钓鱼网站,现在支持的浏览器有一下:

  • chrome 4.1.249.1042
  • firefox 3.6.9(1.9.2.9)
  • IE 8.0
  • opera 10.50
  • safari

 

使用 X-Frame-Options 有三个可选的值:

DENY:浏览器拒绝当前页面加载任何Frame页面

SAMEORIGIN:frame页面的地址只能为同源域名下的页面

ALLOW-FROM:允许frame加载的页面地址

 

 

PHP代码:

header('X-Frame-Options:Deny');

  

Nginx配置:

add_header X-Frame-Options SAMEORIGIN

  

Apache配置:

Header always append X-Frame-Options SAMEORIGIN

 

在grape&Sinatra中设置办法

get "/url" do
  response.headers["X-Frame-Options"] = ''
  do something  
 end

  

在header中增加  X-Frame-Options SAMEORIGIN  输出,如下图:

 

更多详解:https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet

 

 

 

其它防止被 FRAME 加载你的网站页面方法:

1. meta 标签:很多时候没有效果,无视。

<meta http-equiv="Windows-Target" contect="_top">

  

2. js 判断顶层窗口跳转,可轻易破解,意义不大。

function locationTop(){      
    if (top.location != self.location) {          
        top.location = self.location;          
        return false;             
    }      
    return true;  
}  
locationTop();    

  破解:

// 顶层窗口中放入代码  var location = document.location;  // 或者 var location = "";

  

posted @ 2015-03-10 14:03  破男孩  阅读(12422)  评论(0编辑  收藏  举报