Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase基本规则问题_Javascript_Firebase_Security_Firebase Realtime Database_Firebase Authentication - Fatal编程技术网

Javascript Firebase基本规则问题

Javascript Firebase基本规则问题,javascript,firebase,security,firebase-realtime-database,firebase-authentication,Javascript,Firebase,Security,Firebase Realtime Database,Firebase Authentication,我有一个firebase实时数据库,存储用户信息。我正在创建一个可以跟踪所有这些信息的仪表板,但在创建安全规则时遇到了问题。我希望能够在此仪表板上读写,但用户无法读取数据库。我将是仪表板上唯一的人,因为它是本地的。我想检查一个api密钥,我可以在仪表板上找到它,但是我在网上找不到任何信息。如果你有任何建议,请告诉我。以下是我目前的规则。我有它,没有人可以读取数据库,但他们可以写入它。我希望能够从仪表板读取数据库 { "rules": { ".read&q

我有一个firebase实时数据库,存储用户信息。我正在创建一个可以跟踪所有这些信息的仪表板,但在创建安全规则时遇到了问题。我希望能够在此仪表板上读写,但用户无法读取数据库。我将是仪表板上唯一的人,因为它是本地的。我想检查一个api密钥,我可以在仪表板上找到它,但是我在网上找不到任何信息。如果你有任何建议,请告诉我。以下是我目前的规则。我有它,没有人可以读取数据库,但他们可以写入它。我希望能够从仪表板读取数据库

{
  "rules": {
    ".read": "false",
    ".write": true,
     "posts": {
            "$uid": {
        ".write": "!data.exists()"
 }
 }
}
}

安全规则将取决于用户可以读/写的具体内容,但如果您想成为唯一可以执行这两种操作的人,您可以将安全规则设置为:

{
  "rules": {
    "users": {
      "$node_with_data": {
        ".write": "auth.uid === 'enter_your_uid_here_123' ",
        ".read": "auth.uid === 'enter_your_uid_here_123' "
      }
    }
  }
}
这意味着唯一可以读/写指定节点的人是uid与您输入的uid匹配的用户。显然,这意味着用户无法写入此节点,因此您需要考虑您拥有的用户类型以及允许他们访问的内容


这里有一个有用的链接

我所做的是使用firebase身份验证,我所能做的是只允许经过身份验证的用户通过,因为我不认证任何人,或者我只能让我的Gmail通过,这非常好用!我的看起来像这样

{
  "rules": {
    ".read": "auth.token.email_verified == true && auth.token.email.matches(/YOUROWNEMAIL/)",
    ".write": true,
     "posts": {
            "$uid": {
        ".write": "!data.exists()" // This makes it so nobody can delete anything
 }
 }
}
}

是的,我所做的是使用firebase身份验证,我所能做的是只允许经过身份验证的用户通过,因为我不认证任何人,或者我只能让我的gmail通过,这非常好!