Ionic Firestore 安全问题和 Firestore 规则

Posted

技术标签:

【中文标题】Ionic Firestore 安全问题和 Firestore 规则【英文标题】:Ionic firestore security concerns and firestore rules 【发布时间】:2021-01-16 09:34:59 【问题描述】:

我正在开发一个 Ionic 应用程序。我的应用程序快完成了,我只需要修复一些错误,但我有安全问题。我没有服务器端应用程序,一切都在 ionic 应用程序内部。

由于我有数据库调用、写入和编辑,我的应用程序的安全性如何?是否有人可以对 apk 进行逆向工程、更改一些 firebase 代码并完全破坏我的数据库和应用程序?这是如何工作的?如何保护我的应用程序?

另外,我应该在 firebase 中应用哪些规则?目前我有默认的测试规则:

rules_version = '2';
service cloud.firestore 
    match /databases/database/documents 
        match /document=** 
            allow read, write: if true;
        
    

我是 firebase 新手,不太了解规则。我有两个集合usersmatches,我希望一个特定的用户只读写他的用户文档(有他的 id)并读写matches 中的每个文档,其中包含他的里面有id。

【问题讨论】:

【参考方案1】:

由于我有数据库调用、写入和编辑,我的应用程序有多安全?

这根本不安全。

是否有人可以对 apk 进行逆向工程、更改一些 firebase 代码并彻底破坏我的数据库和应用程序?

使用您在此处显示的安全规则,这是很有可能的。您的数据库允许任何有互联网连接的人进行完全读写访问。

您的问题中没有足够的信息来准确说明您需要做什么。我强烈建议首先查看documentation for security rules,并了解如何针对您的具体情况应用规则。如果您在使用特定代码和规则时遇到问题,请发布一个问题,说明客户端代码和安全规则的组合未按您预期的方式工作。

【讨论】:

所以我应该重写我的 firebase 规则,还有什么你能想到的可能是安全漏洞的吗?我想说大部分敏感的东西都通过火力基地,其他一切都是游戏逻辑。这是我的第一个非学校项目申请,我会说它工作正常,我唯一担心的是安全相关 从文档开始,然后从那里开始工作。 Stack Overflow 无法审核您应用的安全性。

以上是关于Ionic Firestore 安全问题和 Firestore 规则的主要内容,如果未能解决你的问题,请参考以下文章

Observable 在 display 、 ionic app 和 angular fire 从 firestore 获取值后失去价值

Firestore:将 angularfire2 异步数据传递为 Ionic 3 navParams 不起作用

使用 ionic 3 中的 Angularfire2 从 Firestore 获取集合文档的 ID [重复]

如何在 firestore 中的现有数组中添加或删除项目?

如何使用 ESP8266 监听 Firestore 的变化?

如何检查对象是不是是firestore.Timestamp?