当前位置: 首页 > 知识库问答 >
问题:

如何管理生产应用程序的Firebase RealTime数据库安全规则

冯亮
2023-03-14

我是新手。我有一个非常基本的问题,但我试图在谷歌上找到它,但不明白。我的问题是。

在firebase中,谷歌表示:

{
   
 “rules”: {

    “.read”: true,
    “.write”: true
 }

}

任何人都可以在这种类型的安全规则中中断,即使是不使用你的应用程序的人。我得到了它。现在,如果我想制作聊天应用或小型社交应用,那么我应该使用什么样的安全规则?

这条规则足以让我的应用程序安全吗?我在下面发帖:

{
  
 "rules": {

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

我的应用程序目标是在使用我的应用程序之前通过Firebase身份验证对用户进行身份验证,我的应用程序将具有聊天选项和简单问题发布选项。希望我能澄清。IDE是一个Android Studio,使用flatter和Dart作为语言。

共有1个答案

茅鸿宝
2023-03-14

为了确保数据的安全,您的规则应该允许您的代码使用的内容,仅此而已。您的代码不太可能为每个登录的用户读取整个数据库,因此您可以更改这些规则,在不丢失应用中任何功能的情况下进一步限制访问。

不过,编写安全规则是一个相当大的话题,我们已经在这里多次讨论了其中的一部分,因此我建议查看以下问题的答案:

  • Firebase电子邮件说我的实时数据库有不安全的规则
  • Firebase您的实时数据库有不安全的规则
  • 阻止用户查找阻止他们的用户Firebase
  • Firebase实时数据库-具有匿名身份验证的规则
 类似资料:
  • 我想在前端构建一个干净的Spring Boot应用程序。我的要求是: 应用程序基于浏览器 这些都是非常基本的要求,但我对保护web应用程序的可能性一无所知。有没有标准的推荐方法?我真的试着从一开始就学习教程https://spring.io/guides/tutorials/spring-security-and-angular-js/但由于混合了几个可能的解决方案,而不是描述一个,所以它非常令人

  • 我创建了一个应用程序,它使用Firebase实时数据库。我对安全规则有一个很大的问题。我的用户不需要登录使用应用程序,他们可以发送数据到数据库,无需任何身份验证。例如:这是一个简单的游戏,他们可以互相玩,然后他们可以保存分数。我想创建一个安全的数据库,但是任何人都可以写

  • 我在中收到一条消息,告诉我我的项目有不安全的规则。但当我检查它时,我不太明白什么是不安全的。 它显示如下: 我保留了读取访问权限,因为它支持一个网站。所以任何访问该网站的人都应该能够读取数据。 至于写权限,据我所知,我是唯一能写的人。 请注意,我还有第三个系列(CollectionThree),规则中没有提到。这可能是原因吗? 除此之外,我还可以想象,只有web服务器可以获得读取权限,以便将内容提

  • 如何在Firebase实时数据库中设置安全规则? 我得到了这个信息。 您选择以测试模式开始开发,这将导致您的Cloud Fi还原数据库完全发布在Internet上。您的应用程序更容易受到攻击,因此您的Fi还原安全规则已设置为在头30天后停止接收任何请求。 系统将开始拒绝发送到Firestore数据库的所有客户端请求。在此之前,请编写高强度的安全规则,以便应用程序能够正常运行,同时正确保护您的数据。

  • 我正在做一个我想在firebase实时数据库上运行的项目。我用以下格式创建了一个数据库设置: 我的安全规则如下所示: 我试图存档,每个人都可以阅读“马”、“图像”和“视频”中的详细信息,但只有经过身份验证的用户才能在“马”、“图像”和“视频”中添加自己的条目(由firebase auth提供的用户ID检查)。 我的第一个问题是:我应该把“图像”和“视频”作为“马”的子对象吗?如果我能为马写一条读写

  • 我有一个Android应用程序和一个网络应用程序(托管在Firebase Hosting上)。Android 应用会生成数据并将其保存到 Firebase 实时数据库中。Android 应用和 Web 应用都可以查看数据。 从Firebase数据库生成数据PDF的最佳位置是哪里——Android应用程序还是Web应用程序(通过JavaScript,例如jsPDF)?它将保存在Firebase存储中