使用 javascript 创建用户帐户时的 Firebase 安全问题
Firebase Security issue in creating user accounts using javascript
我一直在使用 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 身份验证提供商集成
- 邮箱和密码登录,以及账户管理
- 单会话匿名登录
- 和自定义登录令牌
授权
Firebase 允许通过 Account Dashboard
指定存在于 Firebase 服务器上的规则
数据验证
Firebase 有一套包含 .validate
规则的语言规则。使用它来指定声明式验证规则,就像 .read
和 .write
规则
在您的具体情况下,我会编写声明性规则来限制您的应用程序的写入权限。像这样:
{
"rules": {
"usersLocation": {
".read": true,
".write": false,
}
}
}
我一直在使用 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 身份验证提供商集成
- 邮箱和密码登录,以及账户管理
- 单会话匿名登录
- 和自定义登录令牌
授权
Firebase 允许通过 Account Dashboard
指定存在于 Firebase 服务器上的规则数据验证
Firebase 有一套包含 .validate
规则的语言规则。使用它来指定声明式验证规则,就像 .read
和 .write
规则
在您的具体情况下,我会编写声明性规则来限制您的应用程序的写入权限。像这样:
{
"rules": {
"usersLocation": {
".read": true,
".write": false,
}
}
}