X-Frame-Options HTTP响应头是用来确认是否浏览器可以在frame或iframe标签中渲染一个页面,网站可以用这个头来保证他们的内容不会被嵌入到其它网站中,以来避免点击劫持。
危害: 攻击者可以使用一个透明的、不可见的iframe,覆盖在目标网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击iframe页面的一些功能性按钮上,导致被劫持。
使用 X-Frame-Options 有三个可选的值:
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址
一、全局设置方法
1、打开IIS管理器 >> 点击IIS服务器 >> 找到HTTP响应标头点击打开
2、在HTTP响应标头设置页面点击右上角的添加按钮添加
3、在弹出的对话框填入如下参数,然后点击确定添加
自定义HTTP头名:X-Frame-Options
自定义HTTP头值:SAMEORIGIN
全局添加建议这样添加,不推荐大家直接去改全局的配置文件
二、单独站点设置方法
方法一:
点击打开网站列表 >> 找到要设置的站点打开 >> 找到HTTP响应标头
2、在HTTP响应标头设置页面点击右上角的添加按钮添加
3、在弹出的对话框填入如下参数,然后点击确定添加
自定义HTTP头名:X-Frame-Options
自定义HTTP头值:SAMEORIGIN
4、添加完成后会在单独的站点目录下生成一个web.config的配置文件如下图
方法二:
直接在站点目录下新建web.config的配置文件,文件中填入
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
设置完后跟方法一的设置步骤一样在HTTP响应标头设置页面中会新增一个X-Frame-Options的参数
如果可以修改到IIS站点推荐用第一种方法设置
测试
用HttpDebug软件测试可以看到我们的X-Frame-Options添加成功