首页 > 代码库 > Web安全 之 X-Frame-Options响应头配置

Web安全 之 X-Frame-Options响应头配置

  最近项目处于测试阶段,在安全报告中存在" X-Frame-Options 响应头缺失 "问题,显示可能会造成跨帧脚本编制攻击,如下图:

  技术分享

  X-Frame-Options:

  值有三个:

  (1)DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

  (2)SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。

  (3)ALLOW-FROM https://example.com/:表示该页面可以在指定来源的 frame 中展示。

 

配置Apache:

(如果是在本地的话,就是在httpd.conf里面配置;如果是linux(ubuntu的话)就是在apache2.conf里面)

找个空的位置加入这行代码,具体看你是选择哪种

[plain] view plain copy
 
print?技术分享技术分享
  1. <span style="font-size:14px;">Header always append X-Frame-Options SAMEORIGIN</span>  
技术分享
<span style="font-size:14px;">Header always append X-Frame-Options SAMEORIGIN</span>

 

 

有可能会遇到一种情况,就是我在服务端配置完apache之后,尝试 Restart Apache 但是报了一个错误:

Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration

header的方法模块没有安装,我们需要先自行安装一下:

print?技术分享技术分享

  1. <span style="font-size:14px;">add_header X-Frame-Options SAMEORIGIN;</span>  
技术分享
<span style="font-size:14px;">add_header X-Frame-Options SAMEORIGIN;</span>



 

配置IIS:

配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:

 

[plain] view plain copy
 
print?技术分享技术分享
  1. <system.webServer>  
  2.   ...  
  3.   
  4.   <httpProtocol>  
  5.     <customHeaders>  
  6.       <add name="X-Frame-Options" value="http://www.mamicode.com/SAMEORIGIN" />  
  7.     </customHeaders>  
  8.   </httpProtocol>  
  9.   
  10.   ...  
  11. </system.webServer>  
技术分享
<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="http://www.mamicode.com/SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>

 

大概配置就是这样了,之前在寻找配置iframe加载的时候,看到有些文章说iframe加载容易被劫持,当然也有破解的方法,不过没有详细地去看,有兴趣的朋友可以去了解下!

Web安全 之 X-Frame-Options响应头配置