X-Frame-Options头未设置

原创 zhaoliang  2017-02-20 10:29  阅读 3,020 views 次

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, </iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

QQ图片20170310103004

可在HTTP的Header头信息中添加设置来加以控制。添加Header方法有多种,可以在WebServer中添加配置,也可在程序代码中实现。

X-Frame-Options 有三个值:

  • DENY
    表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
  • SAMEORIGIN
    表示该页面可以在相同域名页面的 frame 中展示。
  • ALLOW-FROM uri
    表示该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

控制实现:

  • PHP代码控制

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

  • Apache控制

启用mod_headers.so,在httpd.conf中或者对应的vhosts配置项内添加,注意:早期的版本只能添加main server或virtual host配置项内,在<Directory> 或 <Location>等配置项内添加会出错

Header always append X-Frame-Options SAMEORIGIN
  • Nginx配置

在http、server、location任一配置项内添加

add_header X-Frame-Options SAMEORIGIN;
  • IIS配置

在Web.config文件中添加

<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>

 

本文地址:http://blog.58cm.cn:8088/archives/236.html
版权声明:本文为原创文章,版权归 zhaoliang 所有,欢迎分享本文,转载请保留出处!

评论已关闭!