Javascript 在没有身份验证的情况下从firebase获取数据库数据到我的博客

Javascript 在没有身份验证的情况下从firebase获取数据库数据到我的博客,javascript,firebase,Javascript,Firebase,我遵循了firebase文档中关于如何获取数据的指南 我试着玩弄: 但是,要获取数据库数据,需要进行身份验证。不管怎么说,是否只从firebase获取类似于feed的内容而无需授权?我需要在我自己的博客上阅读,以供公众阅读 请帮我解决这个问题 谢谢。您可以将规则设置为: { "rules": { ".read": "true", ".write": "auth != null" } } 但这意味着任何有权访问数据库的人都可以读取所有数据 在代码中,您可以执行以下操作:

我遵循了firebase文档中关于如何获取数据的指南

我试着玩弄:

但是,要获取数据库数据,需要进行身份验证。不管怎么说,是否只从firebase获取类似于feed的内容而无需授权?我需要在我自己的博客上阅读,以供公众阅读

请帮我解决这个问题


谢谢。

您可以将规则设置为:

{
  "rules": {
    ".read": "true",
    ".write": "auth != null"
  }
}
但这意味着任何有权访问数据库的人都可以读取所有数据

在代码中,您可以执行以下操作:

firebase.database().ref("blogItems").on('value', function(snapshot) {
    console.log(snapshot.val());
});
firebase-database-123
  |
  |_blogItems
      |
      |_entry1
      |
      |_entry2
如果您的设置如下所示:

firebase.database().ref("blogItems").on('value', function(snapshot) {
    console.log(snapshot.val());
});
firebase-database-123
  |
  |_blogItems
      |
      |_entry1
      |
      |_entry2

您可以将规则设置为:

{
  "rules": {
    ".read": "true",
    ".write": "auth != null"
  }
}
但这意味着任何有权访问数据库的人都可以读取所有数据

在代码中,您可以执行以下操作:

firebase.database().ref("blogItems").on('value', function(snapshot) {
    console.log(snapshot.val());
});
firebase-database-123
  |
  |_blogItems
      |
      |_entry1
      |
      |_entry2
如果您的设置如下所示:

firebase.database().ref("blogItems").on('value', function(snapshot) {
    console.log(snapshot.val());
});
firebase-database-123
  |
  |_blogItems
      |
      |_entry1
      |
      |_entry2

我建议你熟悉一下。 这些是指示谁可以读/写Firebase数据库的命令

所有新项目都从规则开始

{
 rules: {
  .read: auth != null,
  .write: auth != null
 }
}
这意味着任何未经身份验证的人都无法读取或写入我们的数据库

为了在不影响其他数据的情况下实现您可能需要的功能,您可以执行以下操作:

{
 rules: {
  .read: auth != null,
  .write: auth != null

  blogEntries: {
   .read: true,
   .write: auth != null
  }
 }
}
通过这样做,您可以让每个人都读取blogEntries中的数据,这意味着其中的所有数据,而如果有人想将数据写入blogEntries,则应该对其进行身份验证


我建议通过观看进一步了解可以实现什么以及安全规则是如何工作的。

我建议您熟悉。 这些是指示谁可以读/写Firebase数据库的命令

所有新项目都从规则开始

{
 rules: {
  .read: auth != null,
  .write: auth != null
 }
}
这意味着任何未经身份验证的人都无法读取或写入我们的数据库

为了在不影响其他数据的情况下实现您可能需要的功能,您可以执行以下操作:

{
 rules: {
  .read: auth != null,
  .write: auth != null

  blogEntries: {
   .read: true,
   .write: auth != null
  }
 }
}
通过这样做,您可以让每个人都读取blogEntries中的数据,这意味着其中的所有数据,而如果有人想将数据写入blogEntries,则应该对其进行身份验证


我建议通过观看进一步了解可以实现什么以及安全规则是如何工作的。

是的,您可以在不进行身份验证的情况下获取数据,但不建议这样做。我在Firebase中进行了以下设置。 步骤1

单击实时数据库的开始

步骤2

单击第二个选项“在测试模式下启动”,您可以在无需验证的情况下访问数据

或 在规则中添加以下行

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

是的,您可以在不进行身份验证的情况下获取数据,但是不建议这样做。我在Firebase中进行了以下设置。 步骤1

单击实时数据库的开始

步骤2

单击第二个选项“在测试模式下启动”,您可以在无需验证的情况下访问数据

或 在规则中添加以下行

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

@Imran是的,在那个数据库上。我被困在示例中给出的main.js上了。你有简单的示例页面吗?@Imran哪里是main.js?quickstart js master\database\scripts\main。js@Imran对在那个数据库上。我被困在示例中给出的main.js上了。你有一个简单的示例页面吗?@Imran main.js在哪里?quickstart js master\database\scripts\main.js你有示例页面让我玩吗?如果你转到项目的数据库页面,有一个名为rules的选项卡,存在当前规则,如果您进行了更改,则在保存这些规则之前,这些规则不会公开。还有一个模拟写或读的模拟器。你有我可以玩的示例页面吗?如果你转到项目的数据库页面,有一个名为“规则”的选项卡,其中有当前的规则,如果你做了更改,它们在保存之前不会公开。还有一个模拟器来模拟写或读。