使用 X-Frame-Options 标头缓解帧差异
摘要
Framesniffing 是一种攻击技术,利用浏览器功能从网站窃取数据。 允许其内容托管在跨域 IFRAME 中的 Web 应用程序可能容易受到此攻击。
管理员可以通过将 IIS 配置为发送 HTTP 响应标头来防止内容托管在跨域 IFRAME 中,来缓解帧差异。
更多信息
X-Frame-Options 标头可用于控制是否可以将页面置于 IFRAME 中。 由于 Framesniffing 技术依赖于能够将受害者站点置于 IFRAME 中,因此 Web 应用程序可以通过发送适当的 X-Frame-Options 标头来保护自身。
若要配置 IIS 以将 X-Frame-Options 标头添加到给定站点的所有响应,请执行以下步骤:
- (IIS) 管理器打开 Internet Information Services。
- 在左侧的“连接”窗格中,展开“站点”文件夹,然后选择要保护的站点。
- 双击中间功能列表中的“HTTP 响应标头”图标。
- 在右侧的“操作”窗格中,单击“添加”。
- 在出现的对话框中,在“名称”字段中键入 X-Frame-Options,在“值”字段中键入 SAMEORIGIN。
- 单击“确定”保存所做的更改。
如果还有其他需要此配置的站点,请针对这些站点重复步骤 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 博客文章。
若要还原更改,请执行以下步骤:
- (IIS) 管理器打开 Internet Information Services。
- 在左侧的“连接”窗格中,展开“站点”文件夹,然后选择进行此更改的站点。
- 在中间的功能列表中,双击“HTTP 响应标头”图标。
- 在出现的标头列表中,选择“X-Frame-Options”。
- 在右侧的“操作”窗格中单击“删除”。