【问题标题】:Firebase realtime database public ruleFirebase 实时数据库公共规则
【发布时间】:2018-05-16 14:11:26
【问题描述】:

如果我在公共模式下使用 firebase 实时数据库发布我的 android 应用程序会怎样,因为我不需要任何身份验证。它说

公共访问使您的数据库对任何人开放,甚至是不使用您应用的人,因此请务必在设置身份验证时再次限制您的数据库。

如果他们的应用未连接到我的数据库并且他们也没有 firebase 帐户的登录密码,我不清楚任何人如何访问我的数据库。

提前谢谢

【问题讨论】:

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


    【解决方案1】:

    一个 URL 与您的数据库相关联。该 URL 显示在 Firebase 控制台的“数据库”选项卡的顶部。例如:

    https://your-project-id.firebaseio.com/
    

    如果数据库的安全规则允许公共访问,任何知道 URL 的人都可以使用 Firebase REST API 读取和写入数据库。

    【讨论】:

    • 谢谢你的回复,所以如果没有人知道我的firebase帐户的登录名和密码,它是安全的吗?
    • 就像 Bob 所说的,这取决于您设置的安全规则。如果您有类似 { "rules": { "mydata": { ".read": true, ".write": true } } } 的内容,那么任何拥有该 URL 的人都可以读取/写入您的数据库。他们不需要您的管理员凭据。
    • 虽然看起来不太可能有人猜到或发现您的项目 ID,从而知道您的数据库 URL,但公开您的安全规则确实不安全。
    • 项目 ID 位于您的构建中使用的 google-services.json 中,我猜它以黑客可以访问的形式存储在您应用的 APK 中的某个位置。
    • @BobSnyder 这意味着逆向工程将提供应用程序的凭据?
    猜你喜欢
    • 2021-01-31
    • 1970-01-01
    • 2020-08-08
    • 2020-02-16
    • 2019-10-11
    相关资源
    最近更新 更多