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

问题描述 投票:0回答:2

我的 Firebase Web 应用程序正在与与此问题相关的两个网址进行通信:

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

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

我将

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

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

拒绝构建“https://[OTHER_ID].firebaseio.com/”,因为它 违反以下内容安全政策指令: “[MY_CSP_DIRECTIVE]”。

我的问题是:

总体来说:

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

行动:

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

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

使用通配符将 https://*.firebaseio.com/ 列入白名单是否安全?或者这是否会打开与其他(可能是恶意的)Firebase 用户的随机后端的通信?

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

更一般地说,您希望 CSP 尽可能具体,而又不会造成问题。一般来说,细化到子域就足够具体了,尽管您甚至可以细化到特定目录甚至文件(如果您选择)。通常不建议将所有子域列入白名单。即使某个网站“当前”没有在另一个子域上提供危险资源,他们也可以随时添加一个。 并且您不会通过 CSP 中的白名单暴露用户不知道的任何内容。他们将从“来源”选项卡中了解该域。如果您不希望用户看到直接来源,则必须使用代理。

如果它不影响您的应用程序,我仍然希望以某种方式解决该问题,否则它会在浏览器控制台中留下一条可怕的消息(大多数用户不会看到),并且会使以后实现

report-uri

变得很痛苦来自所有误报。使用 io 域修复

child-src
并找出它的作用,如果它不是您需要的东西,我会看看您是否可以删除它。
    


0
投票

以下是文档中的相关信息:

根据数据库的位置,新数据库的 URL 将采用以下形式之一:

DATABASE_NAME.firebaseio.com(

us-central1 中的数据库

DATABASE_NAME.REGION.firebasedatabase.app(

适用于所有其他位置的数据库

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.