如何防止在浏览器控制台中使用 firebase.database()?



我在javascript中使用firebase时遇到了安全问题。用户只需打开浏览器的控制台并键入类似firebase.database().ref().once("value", (data) => console.log(data.val));的内容即可获取所有数据库数据。我可以以某种方式阻止它吗?

你可以让它更困难,但并非不可能。即使无法访问使用已知全局加载到浏览器中的 SDK,确定的用户也可以直接调用 API 端点,也可以通过公共 REST API 调用。

如果您想要安全性,则应使用 Firebase 身份验证和安全规则来确定谁可以读取和写入哪些数据。安全规则在服务器端进行评估,因此无法规避。

这取决于您的 Firebase/数据库规则的配置。 应禁用未经身份验证的用户的读取。

它应该看起来像这样:

"rules": {
".read": "auth != null",
".write": "auth != null"
}

实际上,如果没有实现Firebase Authentization,您可以从任何可以运行JavaScript(包括浏览器控制台(的内容访问Firebase数据库。

相关内容

  • 没有找到相关文章

最新更新