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
Firebase规则:我们';我已检测到您的安全规则存在以下问题_Firebase_Firebase Realtime Database_Firebase Security - Fatal编程技术网

Firebase规则:我们';我已检测到您的安全规则存在以下问题

Firebase规则:我们';我已检测到您的安全规则存在以下问题,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,感谢您的支持。看起来,针对不同的需求,您已经多次回答了此问题。对Firebase来说是全新的,我想了解一下这一点。我收到了来自Firebase的消息 我们检测到您的安全规则存在以下问题: 任何登录的用户都可以读取整个数据库 任何登录的用户都可以写入整个数据库 我当前的规则如下所示: { "rules": { ".read": "auth != null", ".write": "auth

感谢您的支持。看起来,针对不同的需求,您已经多次回答了此问题。对Firebase来说是全新的,我想了解一下这一点。我收到了来自Firebase的消息

我们检测到您的安全规则存在以下问题: 任何登录的用户都可以读取整个数据库 任何登录的用户都可以写入整个数据库

我当前的规则如下所示:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "items": {
        ".indexOn": "ownerId"
    },
    "events": {
        ".indexOn": "ownerId"
    },
    "contacts": {
        ".indexOn": "ownerId"
    }
  }
} 
根据文档,我是否只需要这样做

 {
  "rules": {
    ".read":   "auth != null && auth.uid == $uid"
    ".write":  "$user_id === auth.uid",
    "items": {
        ".indexOn": "ownerId"
    },
    "events": {
        ".indexOn": "ownerId"
    },
    "contacts": {
        ".indexOn": "ownerId"
    }
  }
}  
在执行Firebase的安全规则时,用户在进行更改之前是否仍然能够访问自己(以前)的书面数据

抱歉,如果这是一个愚蠢的问题,但得到了很多数据,我不能让用户无法访问

谢谢你所说的:

有时,规则会检查用户是否登录,但不会基于该身份验证进一步限制访问。如果您的规则之一包括auth!=null,确认您希望任何登录的用户都可以访问数据

因此,你必须根据规则部分摆脱这一部分:

".read": "auth != null",
".write": "auth != null",
并使用以下任何一种方法:仅限内容所有者、路径划定访问或混合公共和私有访问。 例如:

 {
  "rules": {
    "products": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
        ".indexOn": ["creatorId", "isActive"]
      }
     },
    "stores": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
        ".indexOn": ["creatorId", "isActive"]
        }
      },
    "orders": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
      }
     },
    }
   }
正如上面所说:

有时,规则会检查用户是否登录,但不会基于该身份验证进一步限制访问。如果您的规则之一包括auth!=null,确认您希望任何登录的用户都可以访问数据

因此,你必须根据规则部分摆脱这一部分:

".read": "auth != null",
".write": "auth != null",
并使用以下任何一种方法:仅限内容所有者、路径划定访问或混合公共和私有访问。 例如:

 {
  "rules": {
    "products": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
        ".indexOn": ["creatorId", "isActive"]
      }
     },
    "stores": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
        ".indexOn": ["creatorId", "isActive"]
        }
      },
    "orders": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid",
            ".write": "auth != null && auth.uid == $uid",
      }
     },
    }
   }

您必须确定数据库用户的哪些部分应该能够读写,然后编写规则来表达这些特定的需求。我不希望这些聊天一定是由用户拥有的,我会说不,因为$uid没有任何作用。请参阅示例代码中的和“用户”选项卡。请参见
$uid
如何引用/users节点中的子键-因此,如果uid为uid\u 0的用户尝试读取节点/users/uid\u 0,这将是允许的,因为uid\u 0=uid\u 0,但如果uid\u 0尝试读取/users/uid\u 1,则会因为uid\u 0而被拒绝≠ uid_1.您必须确定数据库用户的哪些部分应该能够读写,然后编写规则来表达这些特定的要求。我不希望这些聊天必须由用户拥有,我会说不,因为$uid没有做任何事情。请参阅示例代码中的和“用户”选项卡。请参见
$uid
如何引用/users节点中的子键-因此,如果uid为uid\u 0的用户尝试读取节点/users/uid\u 0,这将是允许的,因为uid\u 0=uid\u 0,但如果uid\u 0尝试读取/users/uid\u 1,则会因为uid\u 0而被拒绝≠ uid_1。