使用 X-Frame-Options 标头缓解帧嗅探

摘要

帧嗅探是一种利用浏览器功能从网站窃取数据的攻击技术。 允许将其内容托管在跨域 IFRAME 中的 Web 应用程序可能容易受到此攻击。

管理员可以通过配置 IIS 发送 HTTP 响应标头来阻止内容托管在跨域 IFRAME 中,从而缓解帧嗅探。

更多信息

X-Frame-Options 标头可用于控制是否可以将页面放置在 IFRAME 中。 由于帧嗅探技术依赖于能够将受害者网站置于 IFRAME 中,因此 Web 应用程序可以通过发送相应的 X-Frame-Options 标头来保护自身。

要将 IIS 配置为向给定网站的所有响应添加 X-Frame-Options 标头,请按照下列步骤操作:

  1. (IIS) Manager 打开 Internet Information Services。
  2. 在左侧的“连接”窗格中,展开“站点”文件夹并选择要保护的站点。
  3. 双击中间功能列表中的 HTTP 响应标头图标。
  4. 在右侧的“操作”窗格中,单击“添加”。
  5. 在出现的对话框中,在名称字段中键入 X-Frame-Options,然后在值字段中键入 SAMEORIGIN。
  6. 单击“确定”保存所做的更改。

如果你有其他网站需要此配置,请对这些网站也重复步骤 2 到步骤 6。

此更改将阻止其他域上的 HTML 页面在 IFRAME 中托管你的网站。 例如,如果 Contoso IT 部门将此更改应用于 http://contoso.com,则位于 http://fabrikam.com 的页面将无法再在 IFRAME 中显示 http://contoso.com 中的内容。

可以修改 X-Frame-Options 标头的值,以允许 http://fabrikam.com 在阻止所有其他域的同时帧 http://contoso.com。 为此,请将步骤 5 中 X-Frame-Options 标头的值更改为 ALLOW-FROM http://fabrikam.com。

有关 X-Frame-Options 标头的详细信息,请参阅 此 MSDN 博客文章

要还原更改,请按照下列步骤操作:

  1. (IIS) Manager 打开 Internet Information Services。
  2. 在左侧的“连接”窗格中,展开“网站”文件夹,然后选择你进行此更改的网站。
  3. 在中间的功能列表中,双击“HTTP 响应标头”图标。
  4. 在显示的标头列表中,选择 X-Frame-Options。
  5. 单击右侧“操作”窗格中的“删除”。