Firebase的正确安全规则-Firebase允许在没有安全警告的情况下进行公共读/写

Firebase的正确安全规则-Firebase允许在没有安全警告的情况下进行公共读/写,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我正在开发一个应用程序,匿名用户可以从他们的浏览器中读取和贡献一些数据。我经常收到这样的警告:这是不安全的,用户可以清除我的数据库 现在,在开发中这是可以的,因为应用程序不是公开的,但我想避免安全问题 我不想让用户为应用程序创建登录名 Firebase安全规则当前处于禁用状态 rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=*

我正在开发一个应用程序,匿名用户可以从他们的浏览器中读取和贡献一些数据。我经常收到这样的警告:这是不安全的,用户可以清除我的数据库

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

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

Firebase安全规则当前处于禁用状态

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if 
现在,在开发中这是可以的,因为应用程序不是公开的,但我想避免安全问题

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

如果要临时允许在某个目标日期之前完全访问(如创建新项目时设置的默认安全规则),可以复制该规则:

allow read, write: if request.time < timestamp.date(2020, 7, 12);
允许读写:if request.time
这将允许完全访问,直到明天,2020年7月12日


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

了解,我可能会重新设计此选项,使其只能访问沙盒区域,以便他们无法更改其他提交内容。在没有oAuth流的情况下,有没有快速实现这一点的方法?暂时的方法可能不起作用,因为明天没有人有能力作出贡献。如果你有一个新问题,请单独张贴并解释你想做的事情。嗨,Ramakay,如果下面的答案是有用的,请考虑将它投票并标记为被接受。否则,请说明您对原始问题还有哪些其他问题。谢谢