如何通过全客户端实现来保护 Firebase?

How can I secure Firebase with an all client-side implementation?

我有一个非常简单的 Firebase 应用程序,它在客户端通过 JavaScript 读取和写入。我端没有用户帐户或服务器端应用程序。

现在,任何查看我的 JavaScript 的人都可以复制我的 Firebase URL 并拥有完整的 read/write 访问权限。

考虑到我在客户端做所有事情,有什么简单的方法可以让我以某种方式保护它吗?

我无法理解他们的文档以及如何解决这个用例。

数据访问是通过 Firebase 的安全规则语言管理的,您可以在 Firebase 仪表板的“安全与规则”选项卡中找到它。

当您为应用创建新的 Firebase 后端时,它默认允许所有人 read/write。

{
    "rules": {
        ".read": true,
        ".write": true
    }
}

最简单的可能改变是让每个人都可以阅读,但没有人可以写:

{
    "rules": {
        ".read": true,
        ".write": false
    }
}

这样您只能在您是管理员时更改数据,即当您使用 Firebase 仪表板时。

Firebase 文档有一整节专门介绍 securing your data