在没有Firebase身份验证的情况下保护Firebase数据库

时间:2019-09-07 18:43:15

标签: firebase flutter firebase-authentication firebase-security

我正在按照Codelab Firebase Tutorial学习Flutter,并开发几乎与此类似的测试Android应用。用户保存他们的婴儿名字,其他人投票他们的收藏夹,这将更新数据库中的投票数。基于此,我对与Firebase安全性有关的问题很少。

  1. 应用程序当前没有任何Firebase身份验证。有必要让Firebase Auth看到将要投票的用户不需要进行任何注册。
  2. 有人可以反编译我的应用程序并获取google-services.json文件吗?如果是,是否允许他们在其应用程序中使用此文件并弄乱我的数据库?
  3. 如果我不包括Firebase身份验证并将安全规则设置为默认值(读取,全部写入),那么我的应用程序对非用户的安全性如上面提到的那样?

对不起,如果我仍然无法进入App开发的学习阶段,而无法正确表达自己的观点。

1 个答案:

答案 0 :(得分:0)

如果要按用户进行读/写限制,则必须使用Firebase身份验证。如果您不使用它,则只能限制世界上任何人都可以使用公共访问权限。

是的,任何人都可以从您的google-services.json文件中获取值。它们作为字符串资源添加到您的应用程序。不,它不允许任何人访问所有内容。您在这里提出的要求很常见,请尝试进行一些搜索。例如this

如果使用允许所有读写访问的安全规则,则具有Internet连接的任何人都将能够读写您的数据库。在大多数情况下,这实际上是不可接受的。