在Windows Server的哪里可以找到X-Frame-Option值?

时间:2019-02-21 15:34:33

标签: .net iis-10 x-frame-options

我已经检查了IIS 10.0中的http标头部分,并且已经检查了Web配置文件,在任何地方都找不到该选项,但是某处将X-Frame-Option值设置为SAMEORIGIN:

  

拒绝在框架中显示“ https://example.co.uk/”,因为它已设置   从“ X-Frame-Options”到“ sameorigin”。

当我将X-Frame-Options添加到web.config中时:

<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<add name="X-Frame-Options" value="allow-from https://example.co.uk/" />
</customHeaders>
</httpProtocol>

我在控制台中得到以下内容:

  

拒绝在框架中显示“ https://example.co.uk”,因为它已设置   具有冲突值的多个“ X-Frame-Options”标头   (“ SAMEORIGIN,允许从https://example.co.uk/开始”)。退回   “拒绝”。

我确实需要将iframe添加到另一个网站上,因此需要此当前网站才能显示它。我对这两个站点/服务器都有完全访问权限。

该网站内置于c#.Net中,也没有在其中设置任何响应标头-无论如何从我的搜索开始!

请有人解释这是怎么发生的吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

对于遇到此问题的任何人,我希望这会有所帮助。 MVC 4 +自动将x-frame-option添加为sameorigin。因此,如果您在IIS或配置中进行设置,则它将失败,因为它将同时获取两个值。我的建议是不要重写它,而是考虑另一种方法,也许是一个API来完成另一个站点上的登录页面?如今,大多数站点无论如何都只允许使用sameorgin。

但是,如果确实需要覆盖它,则可以在Application _Start()方法下的global.asax.cs文件中添加以下内容:

System.Web.Helpers.AntiForgeryConfig.SuppressXFrameOptionsHeader = true;

然后,您可以在IIS中或直接在站点web.config中设置所需的值。