当我的web.config中没有设置时,将“ X帧选项设置为拒绝”设置为

时间:2020-01-19 13:49:56

标签: iframe iis-7 x-frame-options

我们有一个IIS7网站页面,可通过iframe通过第三方网站访问该页面。直到几天前,它一直工作正常,但Chrome出现以下错误:

拒绝在框架中显示“ https://xxxxxxxx”,因为它已设置 从“ X-Frame-Options”更改为“ deny”。

Edge报告的错误略有不同,但从本质上讲,它报告无法访问该目标网站上的字体。

现在,我已经检查了web.config文件,并且没有在任何位置设置了“ x-frame-options”的自定义标头,但是我们确实将“ x-xss-protection”标头设置为'1;模式=阻止”。我试过删除该块

X-XSS-Protection 1;

但是我得到:

无法加载资源:服务器响应状态为400 (错误请求)

我还完全删除了整个x-xss标头,这使我回到了原始消息中。然后,我手动添加

X-Frame-Options Allow-From https://xxxxxx

拒绝在框架中显示“ https://xxxxxx”,因为它设置了多个 具有冲突值的“ X-Frame-Options”标头(“ DENY,allow-from https://xxxxxx')。退回到“拒绝”状态。

您知道“拒绝”的x帧选项来自何处吗?我已经将web.config加载到编辑器中,但它肯定在那里找不到该头文件。

由Lex Li提供,我打开了“失败的请求跟踪”,并在日志中找到了它:

enter image description here

但是它在哪里引用x-frame-options?我的web.config中也不存在Set-Cookie标头,因此它必须在其他位置。

谢谢

2 个答案:

答案 0 :(得分:0)

此问题已通过卸载Windows更新KB4532931得到了解决,不确定确切的详细信息,因为来自MS的.net漏洞的描述是通用的(远程执行)。

答案 1 :(得分:0)

我们在IIS7网站页面上也遇到了同样的错误,该页面通过第三方网站通过iframe访问。我们将此问题追溯到应用于Web服务器的补丁KB4532931。回滚该补丁可以解决此问题。我们目前正在寻找更永久的解决方案。