【发布时间】:2021-04-21 02:30:46
【问题描述】:
所以我试图弄清楚云存储规则是如何工作的,并制作了一个简单的应用程序来学习如何编写安全规则。该应用程序基本上向所有用户显示新闻,并允许用户在无需获得用户身份验证的情况下向管理员分享建议(无需注册)。所以我想如果我将allow write: if true; 用于包含用户建议的文档,它将是安全的,但我收到来自firebase 的警告,即我的firestore 云规则不安全。所以我认为这不安全,因为也许任何人都可以重写/删除users_suggestion 文档中的整个数据。我仍然需要在不获取用户身份验证的情况下实现安全规则,如果您知道如何请帮助
这就是规则的样子:
service cloud.firestore {
match /databases/{database}/documents {
match /users_suggestion/{documents}{
allow read: if request.auth != null
allow write: if true;
}
match /news/{documents}{
allow read;
allow write: if request.auth != null
}
}
}
集合是:users_suggestion 和 news
【问题讨论】:
-
安全规则因应用程序而异。在
/users_suggestion/{documents}的这条规则中,read允许经过身份验证的用户,然后写入更高级别的操作,为此用户也应该通过身份验证。 -
希望你推荐了这个不错的 firebase 文档 - firebase.google.com/docs/firestore/security/rules-structure
-
@MuthuThavamani 是否可以在没有身份验证的情况下只允许对一个文档或字段进行有限写入?
-
@MuthuThavamani 我刚刚阅读完您分享的文档,它非常有用,似乎不可能有安全规则并允许在不进行身份验证的情况下写入。谢谢你的帮助
-
很高兴,您对规则有所了解。在我的答案中更新了一些!
标签: firebase google-cloud-firestore firebase-security