安全问题:使用公共网址访问Firebase存储文件

时间:2020-09-10 21:33:46

标签: firebase security firebase-storage firebase-security

Firebase存储允许使用URL https://someUrl

访问文件

您可以使用安全规则限制Firebase存储访问。

如果这样做,则需要将令牌与URL一起传递,以绕过这些规则。像这样https://someUrl&token=someToken

但是,您还可以允许所有人阅读权限。在这种情况下,https://someUrl就足以获取内容。

这与安全性有何关系?我想知道恶意用户是否可以通过任何方式找到https://someUrl

谢谢!

2 个答案:

答案 0 :(得分:0)

出于缓存的原因,我需要能够在脱机时检索URL。

我不清楚您的“缓存原因”是什么,但离线状态get a full download URL不支持您。该API要求客户端应用必须在线。

这是一个关于安全性的问题吗?

安全问题是用户需要具有安全规则授予的对象读取权限,才能获取下载URL。由于安全性规则是在后端评估的,因此用户必须在线才能使Storage允许访问URL。显然,如果没有Internet访问,则无法访问服务器,并且无法访问该规则。

由于此URL已在移动应用程序中使用,用户有什么办法可以找到该URL?

不在离线状态下,不会。考虑尝试以某种方式在线上预取URL,然后将其存储在本地以供离线时使用(这很奇怪,因为URL在离线时也不会加载任何内容)。

答案 1 :(得分:0)

根据此答案Understanding Firebase Storage tokens

如果更改了对象,则Firebase存储令牌也会更改。因此,您可以检索下载URL并将其作为唯一URL来检索特定版本中的对象。

要回答您的问题,因为令牌是随机的,所以用户无法在不知道令牌的情况下检索对象。这与任何其他基于令牌的凭据的安全级别相同,如果您知道url,则可以访问该对象。