【问题标题】:is it safe to store image URL from firebase storage to database?将图像 URL 从 Firebase 存储存储到数据库是否安全?
【发布时间】:2018-12-29 11:56:42
【问题描述】:

我是编程和 firebase 方面的新手。我正在使用 firebase 构建一个 iOS 应用程序。实际上我想缓存来自 firebase 存储的图像。 我正在使用 Kingfisher pod 来帮助我下载和缓存图像,因为.... Firebase 存储似乎没有提供缓存图像方法

使用 kingfisher 下载和缓存的代码如下:

let url = URL(string: "url_of_your_image")
imageView.kf.setImage(with: url)

它需要一个 URL,这就是为什么在用户成功上传到 firebase 存储后,我设法存储存储在 firebase 存储中的图像的 URL。

上传的图片在 Firebase 存储中的 URL 如下所示

https://firebasestorage.googleapis.com/v0/b/xxxxx.appspot.com/o/profilePicture%2Fefb36-df90-4fa5-ad42-bd452cdff?alt=media&token=313407-79c7-4c49-851a-4ae8452bdc

它有令牌.....

假设它是用户的个人资料图片,所以我会在从 firebase 存储中获取后将其存储在设备本地。

这种方法安全吗?

如果我检查一下,firebase 存储中的每个图像的令牌都是不同的,所以我认为没问题

【问题讨论】:

    标签: ios firebase firebase-realtime-database google-cloud-firestore firebase-storage


    【解决方案1】:

    Firebase 为 Cloud Storage 生成的下载 URL 向知道该 URL 的任何人提供文件的公开读取权限。但正如您所见,令牌是独一无二的,并且被认为是不可猜测的。一般来说,这意味着某人知道 URL(从而能够读取文件)的唯一方法是与他们共享 URL。

    很难就某物是否安全给出一个笼统的答案。这取决于您希望它的安全性,以及您如何存储它。

    例如:如果您将其存储在授予每个人完全读取和查询访问权限的数据库中,您实际上是授予每个人对所有文件的只读访问权限。如果这正是你想要的,那就太好了。如果这不是您想要的,您需要调整您的数据库安全规则以满足您的需求。

    【讨论】:

    • 感谢您的回答。我很担心,因为它有令牌,我认为它会给从 firebase 存储中删除图像或删除 firestore 中的文档的机会。所以基本上只要我正确设置了安全规则,来自firebase存储的图像url是否公开都没有关系。我说的对吗?
    • 下载 URL 授予对 Cloud Storage 中文件的只读访问权限。它不能用于删除该文件。
    猜你喜欢
    • 2020-12-18
    • 2014-06-20
    • 2021-07-12
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2021-10-14
    • 2019-01-06
    相关资源
    最近更新 更多