在某些Web应用程序我注意到有用于X-框架选项设置选项首像设置为“拒绝拒绝”
X框,选择X-框选项选项应该错误地添加了两次)。
在这种情况下,将在浏览器服从于这样报头,因为它是为服从
X框-选项:DENY。
否则将它排除考虑为无意义的这个头选项“拒绝拒绝”无意义
如果服从,会发生什么事的场景,如
X框选项:DENY SAMEORIGIN
在某些Web应用程序我注意到有用于X-框架选项设置选项首像设置为“拒绝拒绝”
X框,选择X-框选项选项应该错误地添加了两次)。
在这种情况下,将在浏览器服从于这样报头,因为它是为服从
X框-选项:DENY。
否则将它排除考虑为无意义的这个头选项“拒绝拒绝”无意义
如果服从,会发生什么事的场景,如
X框选项:DENY SAMEORIGIN
浏览器处理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中修复的bug。