【问题标题】:Firebase v9 JS SDK secure to use on client side?Firebase v9 JS SDK 可以安全地在客户端使用吗?
【发布时间】:2023-01-17 20:50:45
【问题描述】:

我正在开发一个移动应用程序,用户可以在其中拥有复杂的配置文件并可以互相聊天。所以现在我在前端代码中使用 firebase 的 onSnapshot() 侦听器来尽快获取实时数据。我在想它是否足够安全?移动到后端服务器会不会更好?我猜比实时获取要复杂得多。你能告诉我将这些听众留在前端有什么危险吗?谢谢你。

【问题讨论】:

    标签: reactjs database firebase google-cloud-firestore frontend


    【解决方案1】:

    你能告诉我让这些听众继续听下去有什么危险吗 前端?

    保护数据库(以及 Cloud Storage 存储桶)的标准方法是使用 Security Rules

    特别是文档解释说:

    来自 Cloud Firestore 移动/网络客户端的每个数据库请求 库在阅读或之前根据您的安全规则进行评估 写入任何数据。如果规则拒绝访问任何指定的 文档路径,整个请求失败。

    此评估完全独立于您查询数据的方式:无论您是使用实时侦听器还是使用一次性获取(使用 get() 方法)读取数据库,都会根据您的安全规则评估数据库请求。


    我在想它是否足够安全?移动它会不会更好 到后端服务器?

    根据您在问题中分享的详细信息,IMO 没有理由切换到后端方法(如 using Cloud Functions to read the database)。一个原因可能是您的安全逻辑太复杂而无法使用安全规则语言/模型来实现。但请注意,您可以在安全规则中构建复杂的逻辑,例如将它们基于 Custom Claimsother Firestore documents

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2020-06-30
      相关资源
      最近更新 更多