【发布时间】:2021-02-20 17:03:26
【问题描述】:
因此,我现在正在查看 Firestore 的安全规则文档,以确保用户放入我的应用程序中的数据是正常的。截至目前,我需要用户能够做的就是读取数据(实际上只有“获取”,但“读取”也可以),并创建数据。所以,我现在对 Firestore 数据的安全规则是:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /jumpSpotAnnotations/{id} {
// 'get' instead of 'read' would work too
allow read, create;
}
}
}
我有完全相同的“允许读取,创建;”对于我的存储数据也是如此。释放后会好起来还是很危险?在文档中,他们写道:
“在您设置 Cloud Firestore 时,您可能已经设置了规则以在开发期间允许开放访问。您可能认为您是唯一使用您的应用的人,但如果您已经部署了它,它就可以在互联网上使用. 如果您没有对用户进行身份验证和配置安全规则,那么任何猜测您的项目 ID 的人都可以窃取、修改或删除数据。”
此文本前面有一个示例,其中规则是“允许读取,写入;”,而不是我的“允许读取,创建”。我的规则是否也适用于数据的删除/修改?我之所以使用 create 是因为我假设这只允许人们创建数据,而不能删除或修改它。
这个问题的最后一部分,但用户如何猜测我的项目 ID?他们是否不必登录我的谷歌帐户就可以手动删除、修改或窃取数据?我不确定它是如何工作的。我的应用程序界面只允许用户创建数据或读取数据,仅此而已。那么,一些随机的人还能以某种方式在线进入这个数据库并搞乱它吗?
感谢您的帮助。
【问题讨论】:
标签: ios database firebase google-cloud-firestore firebase-security