我在javascript中使用Firebase时遇到安全问题。用户只需打开浏览器的控制台,然后输入 firebase.database().ref().once("value", (data) => console.log(data.val));
之类的内容,即可获取所有数据库数据。我可以以某种方式防止它吗?
答案 0 :(得分:1)
您可以使其更困难,但并非没有。即使不使用已知的全局访问已加载到浏览器中的SDK,确定的用户也可以直接调用API端点,也可以通过public REST API来调用。
如果您需要安全性,则应该将Firebase Authentication与security rules一起使用,以确定谁可以读写哪些数据。安全规则是在服务器端评估的,因此无法规避。
答案 1 :(得分:0)
这取决于您的Firebase /数据库规则的配置。 您应禁用未认证用户的读取。
它看起来应该像这样:
"rules": {
".read": "auth != null",
".write": "auth != null"
}
实际上,如果没有实施Firebase身份验证,则可以从任何可以运行JavaScript的内容(包括浏览器控制台)访问Firebase数据库。