我注意到在更新到Google Chrome(21.0.1180.89)后,我在开发者选项卡中得到了一些错误;尤其是当我访问自己的phpMyAdmin网站时。
所有这些都是一样的,并且有某种针对跨站点脚本的安全性;我能做些什么来解决吗?
Unrecognized Content-Security-Policy directive 'allow'.
Unrecognized Content-Security-Policy directive 'options'.
allow
和options
指令都是Mozilla对内容安全策略的原始定义的一部分。Chrome实现了当前的W3C标准,该标准对Mozilla最初的提议进行了一些更改。
allow
已替换为default-src
,并为其他CSP指令设置默认源列表- 在
script-src
或style-src
指令上,options
已替换为'unsafe-inline'
和'unsafe-eval'
(带单引号)源
这两个旧式指令仍然可以在Firefox中使用,使用X-Content-Security-Policy
头。如果网站提供WebKit前缀的头(X-WebKit-CSP
),则应使用当前标准。
请注意,WebKit已经在trunk中实现了不固定的头(Content-Security-Policy
),在接下来的几个月里,它应该会推出到稳定的基于WebKit的浏览器中。如果您还没有设置规范标头,现在是开始考虑它的好时机。:)
在Chrome v 48.0.2564.116 m上出现类似错误"无法识别的内容安全策略指令'frame祖先'。"但在IE 11、FF和safari上的表现绝对不错。
这只是chrome上的一条警告消息,对网站的功能没有影响。