Hide/Disable 客户端的 firebase 函数
Hide/Disable firebase functions for client
我是 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 页上托管此应用程序。
由于您的代码可以访问数据库,因此无法阻止 运行 在同一环境中的其他代码也可以访问数据库。
这意味着您有两个选择:
- 确保所有代码(无论是谁编写的)只能对数据库执行授权操作。
- 运行不同环境下的代码。
对于第一个选项,您需要查看 Firebase security rules,它会自动 运行 服务器端并可以强制执行大多数要求。
对于第二个选项,例如,您可以 运行 Cloud Functions for Firebase 中的代码,然后从您的 API 中调用它。这允许您在受信任的环境中隐藏任何秘密值和代码,但这确实意味着您需要确保 only authorized users can call that Cloud Function.
我是 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 页上托管此应用程序。
由于您的代码可以访问数据库,因此无法阻止 运行 在同一环境中的其他代码也可以访问数据库。
这意味着您有两个选择:
- 确保所有代码(无论是谁编写的)只能对数据库执行授权操作。
- 运行不同环境下的代码。
对于第一个选项,您需要查看 Firebase security rules,它会自动 运行 服务器端并可以强制执行大多数要求。
对于第二个选项,例如,您可以 运行 Cloud Functions for Firebase 中的代码,然后从您的 API 中调用它。这允许您在受信任的环境中隐藏任何秘密值和代码,但这确实意味着您需要确保 only authorized users can call that Cloud Function.