我对Flutter的框架是陌生的。我正在编写一个连接到Firestore的移动应用程序。我想问一下,将Firestore / Firebase数据库逻辑编码到我们的Flutter应用程序中有多安全。用户可以更改移动应用程序自身的逻辑并自行控制发送到Firestore / Firebase的内容的任何可能性?另外,仅用Firestore / Firebase的数据库规则来保护我的数据库是否足够?
答案 0 :(得分:2)
标准做法是直接将数据库查询写入应用程序。这就是您应该在所有移动应用程序平台上使用Firebase SDK进行的操作。
您还应该假设,您交付给最终用户的任何代码都可能经过某种程度的反向工程和破坏。这不常见,但很有可能。
您需要做的是使用Firebase Authentication和Firestore security rules来保护服务器上的数据,以便用户只能按照您说的去做。您将需要设计规则,以完全实现您想要保护的内容。
无法确定安全性规则是否足以满足您的用例,因为您尚未确切说明要求。如果不够用,您将必须将一些工作转移到您控制的后端,并且还必须检查您想要允许的内容。
答案 1 :(得分:0)
我一直在使用cloud_firestore搜索安全解决方案,但是似乎无法通过查询发送身份验证数据。 firebase_auth将对用户进行身份验证,cloud_firebase可以查询,但是两者没有互操作性。
我看到的唯一“解决方案”是使整个数据库可写。