【问题标题】:Firebase Firestore and Cloud Storage: how to download a file from the Storage only if a certain field exists on the firestore?Firebase Firestore 和云存储:仅当 Firestore 上存在某个字段时,如何从存储中下载文件?
【发布时间】:2021-07-20 23:21:34
【问题描述】:

我有以下问题:在云存储上,我有 10 张用户 X 的图像,如果在 firestore 上某个字段具有特定数值,我希望用户 Y 只下载这 10 张 X 图像中的一张。

我的解决方案:用户 Y 读取 firestore 上字段的值,并用它组成云存储的下载请求。

我怀疑这个程序是否安全。一旦我从 Firestore 获得值,由于请求是在客户端 Y 上组成的,我担心它会恶意破坏 Firestore 获得的结果,从而请求存储中的 X 文件而不是它应该有的。

这种情况有可能发生吗?是否有可能是从 Firestore 传输到客户端 Y 的数据已损坏,导致客户端上的应用程序代码发出的请求与最初允许的请求不同?

【问题讨论】:

    标签: firebase google-cloud-firestore https cloud-storage


    【解决方案1】:

    本来,这些资源对其他资源是不可用的,处理这个问题的最佳方法是将 downloadURL 存储到 Firestore 本身的文件中。

    然后在从这个 Firestore 文档中读取时,您可以根据原始 Firestore 文档的值来允许它。

    从安全规则访问其他文档:https://firebase.google.com/docs/firestore/security/rules-conditions#access_other_documents

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 2019-04-06
      • 2020-11-22
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-18
      • 2021-10-01
      • 2020-06-15
      相关资源
      最近更新 更多