1

我有以下 Firebase 数据库结构。我没有使用 firebase 对用户进行身份验证。使用 Mysql 进行用户身份验证。我想保护我的整个 Firebase 数据库,只允许读取和写入Driver books节点pos。用户或某人不能创建新节点或下载数据库,只有知道指定的节点名称才能读写。

在此处输入图像描述

这是我迄今为止尝试过的

{
"rules": {


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

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


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

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

 }
}

如果不共享,是否有可能在节点上方发现任何黑客?有人可以在不知道上面节点的情况下读写吗?

4

1 回答 1

2

Firebase 实时数据库通常直接从客户端应用程序访问。在这种情况下,只能使用Firebase 的服务器端安全规则来保护它。这些规则中关于应用程序用户的唯一知识是,该用户是否使用 Firebase 身份验证登录。

如果您已经有其他登录机制,则必须将该信息安全地传递给 Firebase 身份验证,然后再将其传递到数据库调用的安全规则中。为此,您可以根据您拥有的身份验证结果(在您的服务器上)生成自定义令牌,然后将该令牌传递给客户端,客户端可以使用它登录 Firebase 身份验证

于 2019-12-31T16:15:42.797 回答