【问题标题】:How to deploy a firebase app without authentication?如何在没有身份验证的情况下部署 Firebase 应用程序?
【发布时间】:2021-03-16 09:06:24
【问题描述】:

我有一个不需要任何身份验证的 firebase 应用/游戏。我的计划是任何人都应该能够打开网站或移动应用程序并直接开始游戏。我不需要记录任何用户 ID。 Firebase 不断给我发电子邮件

我们检测到您的安全规则存在以下问题:任何 用户可以读取您的整个数据库 任何用户都可以写入您的整个数据库 数据库

由于您的项目没有严格的安全规则,任何人都可以 访问您的整个数据库。攻击者可以窃取、修改或删除 您的数据,它们可能会增加您的账单。

我担心的是,有什么解决方法吗? 没有身份验证的应用程序是不是很正常?

【问题讨论】:

    标签: angular firebase firebase-authentication firebase-security


    【解决方案1】:

    没有认证的应用是不是很正常?

    对于向公众发布的应用程序跳过使用身份验证是不正常的。该电子邮件试图警告如果您这样做,可能会发生坏事,并且这些坏事很容易被攻击者执行。

    如果您确实打算发布可公开写入的内容,请至少编写规则以限制对特定集合的公开写入权限,并在您的规则中明确允许哪些类型的写入。不要让整个数据库处于打开状态,否则很容易有人给你带来严重的问题。

    是否需要公共写入权限由您决定,但您需要注意风险。如果发生某些事情并且攻击者收取了费用,您将承担所涉及的任何费用。

    【讨论】:

    • 该应用程序是一个测验应用程序。任何人都可以打开网站,创建测验,与朋友分享链接,他们可以打开链接并直接开始游戏。我只是想要快速的用户体验。我不想记录任何东西。只是玩和离开。没有用户,没有历史。在这种情况下我该如何制定规则?
    • 应用程序的安全性由您决定。如果你不能定义读写的要求,那么你就不能写规则。
    【解决方案2】:

    无论如何,您都应该激活anonymous authentication,这将允许定义基本的安全规则并根据用户 ID 限制对数据的 CRUD 访问。

    就是这样。

    【讨论】:

    • 这不是个好主意,对吧?
    • 我没有足够的关于该项目的信息来确定这一点。当然,保护用户数据并避免潜在的攻击者将数据库用于计划外和潜在危险的用途是一项挑战。根据项目,由于用户是匿名的,数据可能存储在浏览器或应用程序本地存储中......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2020-01-10
    • 2017-07-12
    • 2022-09-23
    • 1970-01-01
    • 2022-11-30
    • 2018-07-23
    相关资源
    最近更新 更多