【问题标题】:How to disable REST API calls for Firebase database?如何禁用 Firebase 数据库的 REST API 调用?
【发布时间】:2017-05-23 06:00:57
【问题描述】:

使用 Firebase BaaS 已经有一段时间了,我担心 REST API 调用可能导致数据被盗和/或通过窥探导致大量数据下载..

尽管 Firebase 规则中提出的规则有助于避免大多数用例问题,但一个简单的问题是,如果最终用户使用恶意代码来访问数据库,则允许用户在未经身份验证的情况下读取部分数据库会导致数据使用量激增使用 REST API 调用卸载整个节点数据。

恰当的例子:这是最近在 GoogleIO2017 上发布的井字游戏,它使用 Firebase https://tictactoe-io2017.firebaseapp.com/ 虽然只有经过身份验证的用户才能玩游戏,但简单的 REST API 调用 https://tictactoe-io2017.firebaseio.com/games.json 可以检索从开始到的所有游戏细节现在..,权衡开发者的使用费

【问题讨论】:

    标签: rest firebase firebase-realtime-database


    【解决方案1】:

    我认为不可能在公共端点中禁用 REST API(即使用户未通过身份验证,您也需要获取数据)。但是有一种方法可以使用实时数据库安全规则来限制查询:

      "rules": 
      {
         "my-world-visible-rdb-endpoint":
         {
            ".read": "query.limitToLast>1 && query.limitToFirst < 50",
            ".write": false
         }
      }
    
    

    上面的代码将强制客户端明确限制结果,并会拒绝像您提到的示例那样昂贵的读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      相关资源
      最近更新 更多