【问题标题】:X-Frame Options set as "DENY DENY"X-Frame 选项设置为“DENY DENY”
【发布时间】:2017-07-29 06:07:28
【问题描述】:

在一些 Web 应用程序中,我注意到有为 X-Frame 选项标头设置的选项,例如

X-Frame-选项:拒绝拒绝

(DENY 选项应该被错误地添加了两次)。

在这种情况下,浏览器是否会像它所服从的那样服从这样的标题

X 帧选项:拒绝。

否则它会通过将“DENY DENY”视为无意义来消除此标头选项的意义

如果它服从,会发生什么情况

X-Frame-Options:拒绝同源

【问题讨论】:

    标签: security header http-headers same-origin-policy x-frame-options


    【解决方案1】:

    浏览器处理 X-Frame-Options: DENY DENY 就好像它只是 X-Frame-Options: DENY

    Safari 之前的 had a bug that caused it to ignore X-Frame-Options 如果有重复值,Chrome 继承了 the same bug。而 Firefox 之前也有had pretty much the same bug

    但它们已经全部修复:它们的行为与给定一次值时的行为相同。

    如果它服从,会发生什么情况

    X-Frame-Options: DENY SAMEORIGIN

    对于这种情况,what Mozilla ended up implementing(Safari 和 Chrome 最终跟进)是:

    使用最严格的策略...如果框架情况违反其中任何一个,则阻止加载

    因此X-Frame-Options: DENY SAMEORIGIN 的浏览器行为是DENY(最严格)。

    因此,不幸的是,虽然没有权威规范指出如果标头有多个值时所需的行为是什么——因为the X-Frame-Options spec, RFC 7034 实际上并没有说明要求是什么——实际上,当前的 Safari /Chrome/Firefox 行为是预期行为。不确定 IE/Edge 是做什么的,但如果它在这方面与 Safari/Chrome/Firefox 不同,那么这也是一个需要在 IE/Edge 中修复的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-15
      • 2017-07-25
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 2017-06-15
      • 1970-01-01
      相关资源
      最近更新 更多