gpt4 book ai didi

javascript - 匿名将数据发送到 Firebase

转载 作者:行者123 更新时间:2023-12-01 01:58:46 24 4
gpt4 key购买 nike

我希望匿名用户能够将数据发送到 Firebase,但不能删除或覆盖它。

这是我最近一直在使用的:

我的数据库规则:

{
"rules": {
".read": false,
".write": true
}
}

我的 JavaScript 片段:

firebase.initializeApp({
apiKey: "asdasd",
databaseURL: "asdasd.firebaseio.com/"
});

var id = Math.random().toString(36).substr(2, 9);
var userData = 'hello';
var sendData = firebase.database().ref("data/" + id + "/").update({userData});

sendData.then(function() { console.log("data sent!") })

明显的问题是我在脚本中公开了我的 apiKey,任何人都可以覆盖或删除数据。有什么切实可行的解决办法吗?

最佳答案

要只允许用户写入新数据而不更改现有数据,您可以在规则中执行以下操作:

{
"rules": {
".read": false,
".write": "!data.exists()"
}
}

另请参阅Firebase documentation on existing vs new data .

我建议使用 Firebase 的内置 push() 方法来生成 key ,因为这可以为随机生成器增加一些可预测性,而不会牺牲 key 的不可猜测性:

firebase.database().ref("data")
.push({userData})
.then(function() { console.log("data sent!") });

关于javascript - 匿名将数据发送到 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com