javascript - 使用 javascript 创建用户帐户时的 Firebase 安全问题

标签 javascript firebase firebase-security firebase-authentication

我一直在使用 javascript 在 firebase 中创建用户。这是 firebase 指南中给出的代码

var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
    ref.createUser({
      email    : "bobtony@firebase.com",
      password : "correcthorsebatterystaple"
}

任何人都可以通过浏览器控制台获取此数据,并且可能构成安全威胁(任何人都可以为自己创建帐户) 我可以采取任何安全措施来防止这种情况发生吗?

最佳答案

当然,

Firebase 处理安全性的方式有点不同(他们自己承认)。以下是基本概念:

身份验证

Firebase 提供了允许进行身份验证的工具,其中包括

  • 与 Facebook、GitHub、Google 和 Twitter 身份验证提供商集成
  • 电子邮件和密码登录以及帐户管理
  • 单 session 匿名登录
  • 和自定义登录 token

授权

Firebase 允许通过 Account Dashboard 指定存在于 Firebase 服务器上的规则

数据验证

Firebase 有一组语言规则,其中包括 .validate 规则。使用它来指定声明性验证规则,就像 .read.write 规则

在您的具体情况下,我会编写声明性规则来限制您的应用程序的写入访问权限。像这样的事情:

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

关于javascript - 使用 javascript 创建用户帐户时的 Firebase 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837379/

相关文章:

javascript - 合并两个对象并在冲突时覆盖值

javascript - 根据属性检查 firebase 是否存在现有对象,防止重复

java - Tasks.await 不适用于 FirebaseStorage

ember.js - Firebase 的基本安全规则

javascript - 在填充时显示隐藏的文本框

javascript - 组合空格和换行符的正则表达式

ios - 将图像上传到 Firebase 并获取引用

firebase - 基于 map 值的 Firestore 安全规则

java - 查询数据库以确保新用户不会使用已有的用户名进行注册

javascript - 相同类名的替代着色元素,没有任何特定的层次结构