Firebase header CSP 规则

标签 firebase content-security-policy firebase-hosting

所以我知道我可以在<meta>中添加CSP在我的网站上。然而,我读到最好将这些添加到您的 HTTP header 中。我查看了 Firebase 文档并看到以下内容:

We currently support the following headers as a key: ...Content-Security-Policy.

但是,我找不到任何有关如何格式化文件中规则的示例。我可能想得太多了,但是如何向我的 Firebase header 添加涵盖此内容的规则:

Refused to load the script 'data:application/javascript;base64,dmFyIHVyY2hpblRyYWNrZXI9ZnVuY3Rpb24oKXt9…RUcmFja2VyQnlOYW1lOiBmdW5jdGlvbigpe190cmFja0V2ZW50OiBmdW5jdGlvbigpe319fTs=' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' https://f.vimeocdn.com https://ssl.google-analytics.com https://js-agent.newrelic.com https://bam.nr-data.net https://f.vimeocdn.com".

最佳答案

Firebase Hosting 不会强制设置 header 格式,因此要获得您想要的准确结果,您只需弄清楚如何设置 header 格式即可。 This guide看起来相当全面,可以帮助您入门。

要实际将 CSP header 应用到您的 Firebase 托管网站,您需要更改 firebase.json。例如:

{
  "hosting": {
    "headers": [{
      "source":"**",
      "headers": [
        {"key":"Content-Security-Policy","value":"script-src 'self'"}
      ]
    }]
  }
}

参见the Firebase Hosting docs了解更多详情。

关于Firebase header CSP 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42934203/

相关文章:

firebase - 从 Flutter 中的 Firestore 集合中获取所有内容

javascript - CSP : Refused to execute inline script

spring - 内容安全策略 Spring Security

firebase - 没有自定义 URL/后缀的动态链接

reactjs - 如何保护 Firebase 托管中的第三方 API key ?

java - FirebaseAuth.getInstance().getUid() - 它是如何工作的?

java - 尝试添加 Firebase UI 2.3.0 时,我不断收到 gradle 同步错误

firebase deploy 不更新 html 文件,不是缓存问题

Angular 5 和 CSP - 拒绝将字符串评估为 JavaScript,因为 'unsafe-eval' 不是允许的脚本源

firebase-hosting - Firebase 托管重新验证没有显示任何内容