Firebase数据库具有不安全的规则,即使这些规则是必需的

时间:2020-04-09 12:26:07

标签: firebase google-cloud-firestore firebase-security

这个问题被问了很多,但我仍然不知道该怎么做才能使每周从Firebase收到的警告消失...

您的Cloud-Firestore数据库的规则不安全

您可以猜到我的规则是所有人都可以读写

我的问题是我实际上需要它。在注册过程中,我需要访问所有用户的电子邮件和用户名,以检查当前选定的用户是否可用。用户注册后,他就可以搜索其他用户并创建/删除/更改自己的文件。

我不太了解如何摆脱安全性问题。威胁在哪里?

2 个答案:

答案 0 :(得分:1)

正如我在随后的评论中所说,如果您的用户只能创建/删除/更新他自己的文件,那么您的规则将不会被读/写为true。据我了解,您需要所有用户都能够阅读,但您希望他们只写自己的文档。 这样做的方法是,将文档ID与用户ID相同,然后使用以下规则检查其是否有效。

    match /users/{userId} {
        allow write: if request.auth.uid == userId;
        allow read: true;
    }

答案 1 :(得分:0)

所以,终于正确了。使用此解决方案,每个人都可以 read ,而用户只能 write 他们自己的东西。

这是我的代码:

handleSubmit = () => {
        this.props.onSubmit({
          ...this.state, // Changed Position
          id: this.state.name.toLocaleLowerCase().replace(/ /g, "-"),
          type: "SC",
          allgemein: {...this.state.allgemein,spieler: "TEST"},

        });

        this.setState(this.getInitState());
      };
相关问题