gpt4 book ai didi

firebase - 使用规则保护 Firestore 数据库。检查身份验证。够了吗?

转载 作者:行者123 更新时间:2023-12-05 02:08:46 24 4
gpt4 key购买 nike

我是 Firebase 的新手,正在尝试了解数据库规则。我正在使用 Firestore。

我有一个数据库,基本上需要所有用户都可以读,也可以写。所有用户都可以看到数据库中的文档,并且可以通过某些操作更改某些字段。在某些情况下,他们会删除某些旧的过期文件。

现在,我明白我不能对所有人开放读写,因为这不安全。所以我使用身份验证,我将匿名对用户进行身份验证,以便只有经过身份验证的用户才能访问。

我明白这样做的作用:

service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}

现在,我的问题是,这就够了吗?我不是黑客,所以我不太清楚黑客将如何或可能如何破解和删除/更改我的数据库中的内容,但这是否意味着只能通过使用该应用程序对数据库进行更改?如果有人不使用该应用程序并以其他非法方式进行身份验证,他们是否仍然可以破解它。

非常感谢您的帮助,我已经尝试阅读以深入了解这一点,但还没有成功。

最佳答案

Firebase 安全规则不能限制对单个应用程序的访问。所有 API 都可供具有互联网连接的任何人公开使用。它们都记录在此处:https://firebase.google.com/docs/reference/rest/auth

Firebase 身份验证的目的是确保各个用户的个人访问受到适当控制。只要您让用户使用匿名或电子邮件身份验证创建帐户,他们就可以使用这些规则完全访问数据库中的所有文档。因此,根据该词的大多数定义,您现在拥有的并不是真正的“安全”。您必须决定这是否足够“安全”以达到您的目的。

您还可能会收到一封来自 Firebase 的电子邮件,说您的规则不安全。像这样使用 /{document=**} 不是一个好主意,它匹配所有文档,这可能不是您想要的。至少,您应该调出您希望用户访问的各个集合,而不是使用此全局通配符。

关于firebase - 使用规则保护 Firestore 数据库。检查身份验证。够了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60591576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com