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

项目检测时,安全报告中存在 “X-Frame-Options” 响应头缺失问题,显示可能会造成跨帧脚本编制攻击,如下:
 
经过查询发现:

X-Frame-Options:值有三个:
  (1)DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
  (2)SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。(常用)
  (3)ALLOW-FROM https://example.com/:表示该页面可以在指定来源的 frame 中展示。

目前用到的解决办法:

1、配置Apache:
  (如果是在本地的话,就是在httpd.conf里面配置;如果是linux(ubuntu的话)就是在apache2.conf里面),找个空的位置加入这行代码,具体看你是选择哪种

  Header always append X-Frame-Options SAMEORIGIN 

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

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

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

  先输入 a2enmod heade ,然后需要重启一下Apache,输入service apache2 restart

2、配置Nginx:

  配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:

  add_header X-Frame-Options SAMEORIGIN

3、配置IIS:

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

<system.webServer>

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

</system.webServer>

4、在服务端设置的方式如下:
Java代码:
response.addHeader("x-frame-options","SAMEORIGIN");

posted @ 2020-08-06 16:10  码上wonderful  阅读(1960)  评论(0编辑  收藏  举报