如何在Firebase中正确实现安全性?

我正在努力了解Firebase中的安全性以及如何正确实施

我有这个(默认)用于开发

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

the docs say These rules give anyone, even people who are not users of your app, read and write access to your database

但是如何?我已经在我的应用程序中内置了专用路由(使用react-router),因此除非用户登录,否则他们将无法访问所有专用路由。任何包含提交/提取数据的信息都在私有路线后面

所以我的问题是,为什么我需要使用数据库规则保护数据?考虑到除非登录,否则用户将无法添加/修改数据。(他们只能在我的应用中使用Google登录),因此他们需要知道其他用户的Google密码才能访问我的应用。在这一点上,我无论如何也无法防御。并且显然每个用户都有一个UID,但是它在firebase的auth DB中是安全的,所以我正在努力查看这样做的好处是什么?

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

甚至如何运作?

评论
  • 负能量
    负能量 回复

    如果将所有内容的read / write设置为true,那么任何下载firebase npm软件包并知道如何将几行javascript摩擦在一起的人都可以访问您的数据库。

    您可能已经编写了一个网站,要求它在运行访问数据库的代码之前要求登录,但是其他人可以编写自己的网站或没有此检查功能的脚本。必须在服务器端实施安全性,这是使用firebase安全规则完成的。