【问题标题】:Firebase Storage security rules: After specifying "allow read: if request.auth != null" I can still access my files using the download link providedFirebase 存储安全规则:指定“允许读取:如果 request.auth != null”后,我仍然可以使用提供的下载链接访问我的文件
【发布时间】:2018-09-07 11:28:18
【问题描述】:

我的 Firebase 存储规则是

service firebase.storage {
    match /{allPaths=**} {
      allow read: if request.auth != null;
  }
}

我已从 google 注销并使用 chrome 浏览器(隐身模式),然后输入从 firebase.storage 获得的 url(下载 url 链接)。我仍然可以下载文件。如果用户已通过 firebase.authentication 身份验证,如何确保文件仅允许下载?

我的文件位于根 firebase.storage 位置。

我也试过了

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read: if request.auth != null;
}
}
}

firebase.storage 中有一个 revoke download url url 但它似乎根本没有做任何事情。

【问题讨论】:

    标签: firebase firebase-storage


    【解决方案1】:

    下载网址可供公众访问,用于将文件共享给 Firebase 之外的应用程序。 Firebase 安全规则不会通过下载 URL 控制对存储对象的访问。您可以使用 Firebase 控制台撤消下载 URL。

    另请参阅此answer from a Firebase team member 相关问题。他指出:

    使用下载 URL 是在外部共享文件的适当方式 应用程序,或不需要登录的用户。

    【讨论】:

    • 有一个撤销下载 URL 链接,但是当我按下它时,我仍然可以通过 url 访问文件...该 url 变灰一两秒钟,然后又变黑。
    • 好的,所以撤销只是发出另一个 url 并使用旧 url 撤销访问。所以,只要我不给出文件的 url,我就可以(有点……你知道,管理员可以共享下载 url,然后文件是公开的,嗯)
    猜你喜欢
    • 2021-10-28
    • 2020-07-11
    • 1970-01-01
    • 2020-08-26
    • 2020-05-24
    • 2020-03-19
    • 2018-05-19
    • 2021-07-14
    • 2015-03-25
    相关资源
    最近更新 更多