我是Firebase的新手,想知道如何为客户端禁用特定功能以手动将其置于浏览器控制台中。
示例:
function createRoomDB(roomID, name, mode, start, length, aname, opcount, secrettoken) {
firebase.database().ref('rooms/' + roomID).set({
name: name,
mode: mode,
start: start,
length: length,
aname: aname,
opcount: opcount,
secrettoken: secrettoken
});
}
(名字与我的问题无关。)
长话短说:我不希望用户仅使用此命令来创建新数据。我知道您不能在前端隐藏代码,但是禁用后门的最简单,最有效的方法是什么?
我打算将此应用程序托管在GitHub页面上。
答案 0 :(得分:0)
由于您的代码可以访问数据库,因此无法阻止在同一环境中运行的其他代码也访问数据库。
这意味着您有两个选择:
对于第一个选项,您需要研究Firebase security rules,它会自动在服务器端运行并可以满足大多数要求。
对于第二个选项,您可以例如在Cloud Functions for Firebase中运行代码,然后从您的API中调用它。这使您可以在受信任的环境中隐藏任何秘密值和代码,但这确实意味着您需要确保only authorized users can call that Cloud Function。