我是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页面上托管此应用程序。
发布于 2018-12-18 04:13:29
由于您的代码可以访问数据库,因此无法阻止在同一环境中运行的其他代码也访问数据库。
这意味着您有两个选择:
对于第一种选择,您需要研究一下Firebase security rules,它自动运行在服务器端,并且可以强制执行大多数需求。
对于第二种选择,例如,您可以在Cloud Functions For Firebase中运行代码,并从您的API调用该代码。这允许您在受信任的环境中隐藏任何保密值和代码,但这确实意味着您需要确保only authorized users can call that Cloud Function。
https://stackoverflow.com/questions/53822224
复制相似问题