如何防止未经授权访问Firebase数据库?

时间:2013-08-01 22:51:12

标签: firebase firebase-security

如何阻止其他用户通过我的Firebase网址访问我的Firebase数据库?我该怎样做才能将其保护到我的域名?

2 个答案:

答案 0 :(得分:39)

首先,要了解您无法根据原始域保护互联网上的任何URL - 恶意用户可以简单地说谎。保护原始域仅用于防止跨站点欺骗攻击(恶意源伪装成您的站点并欺骗您的用户以代表他们登录)。

好消息是,用户已经无法从一开始就对未经授权的域进行身份验证。您可以在Forge中设置授权域名:

  • 将您的Firebase网址输入浏览器(例如https://INSTANCE.firebaseio.com/
  • 登录
  • 点击“身份验证”标签
  • 将您的域名添加到“授权请求来源”列表
  • 选择您要使用的“提供者”并进行相应配置

现在要保护您的数据,您将转到安全选项卡并添加安全规则。一个很好的起点如下:

{
   "rules": {
       // only authenticated users can read or write to my Firebase
       ".read": "auth !== null",
       ".write": "auth !== null"
   }
}

安全规则是一个很大的话题。您需要get up to speed by reading the overview and watching this video

答案 1 :(得分:0)

  1. 设置安全规则, 学习来源:https://firebase.google.com/docs/rules

  2. 使用模拟器(这会使初学者程序员不容易看到密钥) ,来源:https://firebase.google.com/docs/rules/emulator-setup

  3. Cloud Functions(它将隐藏集合和文档的名称) , https://firebase.google.com/docs/functions

  4. 将 API 密钥限制在特定网站/s(这将使人们无法从外部访问您的网站/应用程序)

如果有人知道更多的方法,请告诉,没有人是完美的。