gpt4 book ai didi

javascript - firebaseio.com 和 firebaseapp.com 之间的区别

转载 作者:行者123 更新时间:2023-12-05 06:37:33 25 4
gpt4 key购买 nike

我的 Firebase 网络应用正在与与此问题相关的两个 URL 通信:

  • https://*.firebaseapp.com/(第一个网址)
  • https://*.firebaseio.com/(第二个网址)

出于 Firebase 服务范围之外的安全原因,我将 CSP header 放入我的应用程序 (content=frame-src)。

我将 https://[MY_ID].firebaseapp.com/(第一个 URL)列入白名单,因为它需要进行身份验证。此外,相同的 url 在我的前端配置中,所以我觉得把它放在那里是安全的并且不会暴露任何 secret (如果这有意义......)。

但是在测试我的应用程序时,每隔一段时间我会收到有关第二个 URL 的以下错误:

Refused to frame 'https://[OTHER_ID].firebaseio.com/' because it violates the following Content Security Policy directive: "[MY_CSP_DIRECTIVE]".

我的问题是:

总的来说:

  • 此网址的用途是什么?到目前为止,当我在控制台中收到此错误消息时,我似乎没有错过任何功能。

Action :

  • 使用通配符将 https://*.firebaseio.com/ 列入白名单是否安全?或者这会打开与其他(可能是恶意的)Firebase 用户的随机后端的通信吗?
  • 我应该像 https://[OTHER_ID].firebaseio.com/ 那样指定我的 ID 吗?还是我随后公开了一个我不应该以任何方式公开的 ID?
  • 或者我是否应该忽略该错误,只要它似乎不影响我的应用程序即可?

最佳答案

我承认我自己并不熟悉 Firebase,但我知道所有与 CSP 相关的方面。

Is it safe to whitelist https://*.firebaseio.com/ with a wildcard? Or does that open up communication to random backends of other (possibly malicious) Firebase users?

如果每个用户都有一个子域,那么是的,您将所有子域列入白名单,以便可以执行任何人的 firebase 代码。

更一般地说,您希望在不引起问题的情况下使用 CSP 尽可能具体。通常下至子域已经足够具体,但您甚至可以指定下至特定目录甚至文件(如果您愿意)。通常不建议将所有子域列入白名单。即使某个站点目前不在另一个子域上提供危险资源,他们也可以随时添加一个。

并且您不会通过在 CSP 中加入白名单来暴露用户不知道的任何内容。他们将从“来源”选项卡中知道域。如果您不希望用户看到直接来源,则必须使用代理。

如果它不影响您的应用程序,我仍然希望以某种方式解决问题,否则它会在浏览器控制台中留下一条可怕的消息(不是大多数用户会看到的)并且会使实现 报告-uri 后来所有误报带来的痛苦。用 io 域修复 child-src 并找出它的作用,如果它不是你需要的东西,我会看看你是否可以删除它。

关于javascript - firebaseio.com 和 firebaseapp.com 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com