如何防止恶意脚本写入Firebase数据库?

时间:2016-06-14 16:27:17

标签: firebase firebase-realtime-database firebase-security

我一直在阅读firebase 3+文档,我仍然想知道如何管理以下安全方案:

假设我有一个网站,用于发布黄页等本地商家,每个拥有帐户的人都可以添加新条目,并使用以下架构编辑现有商品的信息:

{
    "businesses"": {    
        "62061635": {
            "id": "62061635",
            "name": "Cellphone store"
        },
        "66856728": {
            "id": "66856728",
            "name": "El Bambino restaurant"
        }
    }
}

如果登录成功的用户在开发者控制台中写下以下内容:

firebase.database().ref('/businesses/').once('value').then(function(snapshot) {
  console.log(snapshot.val());
});

实际上,所有用户都可以检索所有商家信息,这些信息并不那么激烈,但如果用户使用以下代码而不是上述代码:

var i=0;
while(i++ < 10) {
    var id = generateRandomString();
    firebase.database().ref('businesses/' + id).set({
        id: id,
        name: generateRandomString()
    });
}

这是我担心的问题,我知道有数据库规则,但在这种情况下,所有用户都可以添加和编辑信息,如何阻止用户运行恶意脚本,如以上哪些?

0 个答案:

没有答案