此问题在此处已有答案:
Content Security Policy 'frame ancestors' directive not working in element(1个答案)
5天前关闭。
Context
我有一个VueJs单页应用程序(实际上只有一个HTML文件),我想应用Content Security Policy (CSP)。这是托管在子域上,从共享主机提供服务,我可以在那里创建.htaccess
文件。
据我所知,我有两个选择:
- 使用apache服务器的
.htaccess
文件(例如in this answer)将CSP指令放在HTTP头中 - 通过
meta http-equiv
添加CSP(例如,在此示例中)
我也可以把两者混合起来。
提问
但是,**HTTP头(使用.htaccess
)和meta http-equiv
**在以下方面有区别吗?
- 安全性(可以允许脚本,例如进一步操作html标题)
- 浏览器兼容性
- 其他影响
1条答案
按热度按时间aelbi1ox1#
根据@ sidehowbarker的this answer,规范要求浏览器忽略元标记中的一些CSP指令,即:
此外,HTML
meta http-equiv
标记中的指令仅适用于标记后的内容/链接/包含。然而,根据上述规范,一旦标签被处理,就不可能进行操作:
在元元素被解析之后对该元素的content属性的修改将被忽略。
结论
最后,如果可能的话,坚持使用HTTP标头似乎是**最安全的。