X-Frame-Options 响应头配置避免点击劫持攻击

HTTP 专栏收录该内容
3 篇文章 0 订阅

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

X-Frame-Options有三种可配置值
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。
注: 在网页中设置meta标签是无用的!例如,<meta http-equiv="X-Frame-Options" content="deny"> 是没有效果的。不要使用这种方式。需要在下面的配置实例中配置HTTP Header的方式来进行配置,X-Frame-Options才会起作用。

配置实例

配置 Apache

Windows平台是在httpd.conf里面添加下面配置;如果是ubuntu是在/etc/apache2/sites-available下面对应的*.conf文件进行配置


配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

Header always append X-Frame-Options SAMEORIGIN

配置Apache X-Frame-Options deny , 需要把下面这行添加到 'site' 的配置中:

Header set X-Frame-Options DENY

配置Apache X-Frame-Options 设置 ALLOW-FROM 为一个指定的主机,需要把下面这行添加到 'site' 的配置中:

Header set X-Frame-Options "ALLOW-FROM https://example.com/"

配置好后,可能重启Apache2失败,原因是没有安装headers模块,进入到
/etc/apache2/mods-available目录,可以看到


执行命令:# a2enmod headers 即可安装headers模块,安装后可以在/etc/apache2/mods-enabled目录下看到headers模块可用


安装headers模块成功后,再次执行service apache2 restart即可重新启动apache

配置 nginx

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

add_header X-Frame-Options SAMEORIGIN;

配置 IIS

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

<system.webServer>
  ...

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

  ...
</system.webServer>

配置 HAProxy

配置 HAProxy 发送 X-Frame-Options响应头, 添加下面这行到 front-end, listen, or backend 配置中:

rspadd  X-Frame-Options:\ SAMEORIGIN
  • 2
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值