54

如何防止其他用户通过我的 Firebase URL 访问我的实时数据库?我必须做些什么才能将其仅保护到我的域?

4

2 回答 2

51

首先,要了解您无法根据源域保护 Internet 上的任何 URL——恶意用户可以简单地撒谎。保护源域仅对防止跨站点欺骗攻击有用(恶意来源伪装成您的站点并欺骗您的用户代表他们登录)。

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

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

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

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

安全规则是一个大话题。您将希望通过阅读概述和观看此视频来加快速度

于 2013-08-02T02:25:15.023 回答
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(这将使人们无法从外部访问您的网站/应用程序)

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

于 2021-02-14T07:05:47.333 回答