使用 X-Frame-Options 标头缓解帧差异

摘要

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

管理员可以通过将 IIS 配置为发送 HTTP 响应标头来防止内容托管在跨域 IFRAME 中,来缓解帧差异。

更多信息

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

若要配置 IIS 以将 X-Frame-Options 标头添加到给定站点的所有响应,请执行以下步骤:

  1. (IIS) 管理器打开 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) 管理器打开 Internet Information Services。
  2. 在左侧的“连接”窗格中,展开“站点”文件夹,然后选择进行此更改的站点。
  3. 在中间的功能列表中,双击“HTTP 响应标头”图标。
  4. 在出现的标头列表中,选择“X-Frame-Options”。
  5. 在右侧的“操作”窗格中单击“删除”。