.htaccess中的内容安全策略或带有Meta标签的内容安全策略?[重复]

f2uvfpb9  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(77)

此问题在此处已有答案

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标题)
  • 浏览器兼容性
  • 其他影响
aelbi1ox

aelbi1ox1#

根据@ sidehowbarker的this answer,规范要求浏览器忽略元标记中的一些CSP指令,即:

  • 仅限内容安全策略报告
  • 报告报
  • 框架-祖先
  • 沙箱

此外,HTML meta http-equiv标记中的指令仅适用于标记后的内容/链接/包含。
然而,根据上述规范,一旦标签被处理,就不可能进行操作:
在元元素被解析之后对该元素的content属性的修改将被忽略。

结论

最后,如果可能的话,坚持使用HTTP标头似乎是**最安全的。

相关问题