【发布时间】:2020-05-17 04:50:35
【问题描述】:
我有一个名为 users 的集合,我正在检查新用户手机号是否存在。如果它存在,那么我正在为该用户执行电话身份验证,然后将 uid 作为字段存储在文档中。
如果用户是第一次来,他没有经过身份验证,我正在从 users 集合执行读取操作。现在每次我收到来自谷歌的您的 Cloud Firestore 数据库的规则不安全。
以下是我使用的规则。请让我知道如何确保它的安全。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if true;
allow write: if request.auth != null;
}
}
}
【问题讨论】:
-
您数据库中的所有数据现在可供全球任何人读取,而您不知道他们是谁。如果您在数据库中存储有关/来自用户的任何个人信息,那肯定是不安全的。如何保护数据取决于您的应用程序和数据库结构,这不是我们可以合理为您做的事情。我强烈建议您查看有关安全规则的 Firebase 文档,然后自己开始。如果您在某个地方遇到困难,请回复一个更具体的问题,我们可以尝试提供更具体的帮助。
-
最简单的安全访问方法是
allow read: if false;,但这不太可能是您想要的。另请参阅:firebase.google.com/docs/rules/insecure-rules。
标签: firebase flutter google-cloud-firestore firebase-security