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

使用firebase实时数据库进行身份验证,无需用户

廉元龙
2023-03-14

我有一个firebase实时数据库,具有读/写功能,但是我没有任何用户,也不打算对用户进行身份验证。数据由事件侦听器和调度器(java)编写,我的html ui应用程序应该只读取数据。

我应该如何保护我的db?

在开发(不安全)模式下,我可以使用任何http客户端来写/读数据?如何在保护身份验证后通过身份验证?

共有1个答案

卫博学
2023-03-14

要只允许您的网站读取,只允许您的后端写入,您需要将安全规则与Firebase应用程序检查相结合。

首先,在安全规则中,您将执行以下操作:

{
  "rules": {
    ".read": true,
    ".write": false
  }
}

这样,每个人都可以读取您的整个数据库(稍后我们会将其限制在您的应用程序中),并且不允许任何拥有客户端SDK的人对其进行写入。

我强烈建议在规则中添加一些额外的逻辑来限制人们读取数据的方式。例如,如果您的代码首先读取用户列表,然后显示来自选定用户的帖子,请修改您的规则以只允许该特定路径,并拒绝其他任何内容。

现在有了规则,您将希望开始使用App Check来减少人们获取您的配置数据并自行调用API所造成的滥用。

应用程序检查不能保证这种情况不再发生(尤其是在web上),但它肯定会增加恶意用户的工作量。

 类似资料:
  • 我是新的Firebase.我已经建立了一个Firebase实时数据库,如果读写规则设置为true,可以读写它。 我的身份验证有问题。我已经为谷歌和电子邮件加密码设置了身份验证。 我的目标是允许任何用户读取数据,但只有一个用户(我自己)可以在使用单个电子邮件地址和密码登录后写入数据。 如果我用谷歌登录,我可以成功地读写数据库(规则设置为: auth!=null)。 如果使用电子邮件地址和密码登录,我

  • 问题内容: 我需要从数据库对用户进行身份验证,Spring Security文档没有告诉您如何使用hibernate进行身份验证。那可能吗,我该怎么做? 问题答案: 您必须制作自己的自定义身份验证提供程序。 示例代码: 从Hibernate加载用户的服务: 将您的实体转换为spring用户对象的服务: 基于命名空间的application-context-security.xml如下所示:

  • 我试图用注册时使用的凭证登录。Firebase已经有注册用户的条目。每次我试图登录它显示“登录不成功”,我没有看到任何代码问题。请帮帮忙。

  • 我已经创建了一个android应用程序,并使用firebase作为电子邮件注册和认证的手段。注册后,用户可以在数据库中存储库存项目。所以我的问题是,如何设置firebase身份验证规则,以便特定用户只能访问他们输入的数据。现在,每个人都可以读/写数据库。我不担心写的部分,因为电子邮件认证。提前感谢! 我的数据库是这样设置的:数据库

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。