0

我不确定这是安全漏洞还是 firefeed.firebaseio.com 规则设置有问题。

在此之前,我很好奇为什么我们注册firebase时没有得到api-key。所以我的第一个问题出来了。(每个人都可以简单地擦除或编辑您的数据?如果有人知道您的 Firebase 网址)

然后我想知道规则是如何工作的,我尝试了一些东西firefeed.firebaseio.com。因为我们可以写一些东西users/user_id/feed,我用这段代码写进提要。

var url = new Firebase('https://firefeed.firebaseIO.com');
    var authClient = new FirebaseAuthClient(url, function(error, user) {
        if (error) {

            console.log(error);

        } else if (user) {

            console.log(user);
            // user authenticated with Firebase
            var usersRef = url.child('/users/MYUSERID/feed');
            usersRef
                .set({
                        email: user.email,
                        username: user.username
                    });
        } else {
            // user is logged out
        }
    });

之后,我所有的提要和以下提要都消失了,在我运行代码后只留下电子邮件、用户名。我在这里附上了一张前后的照片。

我知道我只是擦除我的帐户供稿而不是其他人,因为规则设置了欺骗用户,但这危险吗?我们如何防止这种情况发生?

在此处输入图像描述

4

1 回答 1

2

安全规则目前允许您删除自己的提要,根据这一行:https ://github.com/firebase/firefeed/blob/master/rules.json#L14

// The user is allowed to write everything in their bucket.
".write": "$userid == auth.id"

您可以通过从 Firefeed 的安全规则中删除该行来更改此行为(当然,在您自己的部署中,我们不打算为 firefeed.io 上的公共版本更改此行为)。

于 2013-05-22T06:45:20.777 回答