【问题标题】:can any one get my database referernce and edit on it in firebase database任何人都可以获取我的数据库参考并在 firebase 数据库中对其进行编辑
【发布时间】:2019-03-23 16:50:18
【问题描述】:

我在我的 android 应用程序中使用 firebase 数据库。我发现来自 firebase 控制台的警告说,为我的数据库制定写入和读取规则并不安全。我想知道是否有人可以通过以某种方式获取对数据库的引用来访问应用程序外部数据库中的数据,因为在应用程序中用户无法编辑我不允许他们编辑的任何内容,因此将设置规则是真实的对我来说是否危险?如果是,那为什么它很危险且不安全?在我的应用程序中,我允许用户写帖子,所以我怎样才能允许应用程序中的所有用户使用安全规则在应用程序中写帖子?

【问题讨论】:

    标签: android firebase-realtime-database firebase-security


    【解决方案1】:

    我经常处理这种误解。我相信你在混淆问题,如果不是,请告诉我。

    安全谁可以连接到我的数据库?

    答案是任何人。 Firebase 不需要 SQL 用户或任何东西,只需连接即可。

    数据一致性谁能做什么? 这是你应该关注的地方

    使用 firebase 安全规则、验证规则和函数,保证数据的一致性。

    总之,您的后端不应允许您的客户行为不端。

    【讨论】:

      【解决方案2】:

      如果您的安全规则设置不正确,世界上任何人都可以读取和写入您的数据库,无论您的应用在内部做什么。有两件事你应该知道:

      首先,当客户端应用直接访问数据库时,完全控制对数据库的访问的唯一方法是通过安全规则。您应该期望任何人都能够尝试在没有您的客户端应用程序的情况下读取和写入您的数据库,也许是通过 REST API。所有人只需要知道您的 Firebase 项目的名称,该名称已融入您的应用并且很容易看到。

      其次,您应该期望您的客户端应用程序可以进行逆向工程和更改。用户手中的代码本质上并不安全。尝试仅使用应用程序中的代码来保护对数据库的访问并不是一个好主意。

      【讨论】:

      • 我要补充一点,客户端更新计划比逆向工程的客户端应用程序更麻烦。
      • 如果不了解您的规则并了解您的应用程序和用户如何使用数据,则无话可说。或许可以尝试问另一个足够详细的问题来确定具体问题。
      猜你喜欢
      • 2020-04-27
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      相关资源
      最近更新 更多