Firebase的正确安全规则-Firebase允许公共读/写,而没有安全警告

时间:2020-07-11 19:24:11

标签: firebase google-cloud-firestore firebase-security

我正在构建一个应用程序,匿名用户可以从其浏览器中读取并提供一些数据。我经常收到有关此操作不安全以及用户能够清除我的数据库的警告。

现在,在开发中这是可以的,因为该应用程序不是公开的,但我想避免安全问题。

我不想让用户为该应用程序创建登录名。

当前的Firebase安全规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if 

1 个答案:

答案 0 :(得分:2)

现在,在开发中这是可以的,因为该应用程序不是公开的,但我想避免安全问题。

实际上,这不是真的确定。某人要做的就是猜测您的项目名称(或通过生成随机字符串(类似于猜测密码)偶然发现它),他们可以开始使用文档填充您的数据库,或删除其中的所有内容。这不是第一次。

如果您要暂时允许在某个目标日期之前进行完全访问(例如,创建新项目时设置的默认安全规则),则只需复制以下内容即可:

allow read, write: if request.time < timestamp.date(2020, 7, 12);

这将允许完全访问直到2020年7月12日,明天。

这应该是一个很好的提醒,以便将来为您的项目设置适当的规则。除了为应用程序的特定需求创建适当的安全规则外,没有真正的“安全”选项。