【问题标题】:allow read, write: if request.auth != null;允许读、写:如果 request.auth != null;
【发布时间】:2021-10-20 15:11:52
【问题描述】:

我有这个警告:

除非您更新安全规则,否则您的 Cloud Firestore 数据库将开始拒绝客户端请求

它说我有一天可以改变它们。

我对此知之甚少,我曾尝试观看一些视频,但我无法理解。看到我可以更改日期,但希望有适当的规则。到目前为止,我对我的应用程序所能做的就是注册/登录/注销(还没有电子邮件验证)。

那么,我的安全规则现在安全吗?

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    allow read, write: if request.auth != null;
    }
  }

【问题讨论】:

    标签: flutter dart google-cloud-firestore


    【解决方案1】:

    “安全”不是一个绝对的术语。您的规则要求用户必须先登录 Firebase 身份验证,然后才能读取/写入整个数据库。如果这是您应用的最低安全要求,那么根据您的要求它是“安全的”,您可以关闭通知。

    但对于大多数应用来说,这并不安全,因为任何人都可以从您的应用中获取配置数据,并开始自己进行 API 调用。他们可以轻松删除您的整个数据库(对您不利),或读取所有数据(对您的用户更糟)。


    您的数据库的安全规则应该遵循principle of least privilege,并且应该只允许您的代码执行的操作,并且什么都不做

    所以一步一步的过程是:

    1. 从您的数据库中删除所有访问权限 (if false)。
    2. 运行应用程序并查看失败的地方。
    3. 更改安全规则以仅允许该代码成功,而不允许其他任何内容。
    4. 返回步骤 2。

    通过这种方式,您的安全规则密切关注您的应用程序代码,这也是我通常自己开发它们的方式 - 唯一的区别是我从项目开始就这样做,而不是在构建所有代码之后。

    另见这些以前的questions about the error message

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-28
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多