【问题标题】:Firebase read security rulesFirebase 读取安全规则
【发布时间】:2020-07-14 10:07:42
【问题描述】:

我正在创建一个用户可以在其中订购出租车的网站。现在要订购一个,需要有一个活跃的驱动程序。我正在前端采取措施来隐藏实际的订单,但是如果有人通过了该表单并且能够使用该表单,而不管向“订单”文档发送写请求,这将读取 Firestore 数据库以获取“活动司机”。因此,虽然可以通过规则轻松限制对数据库的写入,但这仍然会从数据库读取以获取任何活动的驱动程序。所以我的问题是我可以/应该实施什么样的措施,以便用户不能通过将写入请求发送到“订单”文档来继续阅读活动驱动程序?例如,如果他们在某个时间范围内执行 x 次请求,我可以“锁定”用户吗?我还是新的 firebase 用户,有点担心项目的安全性和配额限制。

【问题讨论】:

  • 你能澄清一下“活动驱动程序”的读取是如何连接到“订单”的写入的吗?即使写入被拒绝...
  • 如果没有活动的驱动程序,写入将被拒绝,因此需要对活动的驱动程序进行读取。

标签: javascript firebase google-cloud-firestore firebase-security


【解决方案1】:

您可以做的是为特定订单执行导航保护。您需要确保一旦用户尝试向服务器发送请求,您就有一个变量来检查某人请求操作的次数。然后相应地拒绝。

【讨论】:

    【解决方案2】:

    我已经对此进行了一些研究,但我认为现在 Firestore 不可能。潜在的攻击者可以运行某种形式的 DoS 攻击,从而导致大量读取。由于您按读取的 DB 收费,这可能会导致 Google 支付大笔费用(但我不确定 ToS 是否 100%,它可能还不错)。

    我想您可以添加某种断路器,根据请求率或计费金额禁用 Firestore。

    【讨论】:

      【解决方案3】:

      您不能设置读取限制

      您可以按照here 所述设置写入限制

      【讨论】:

        猜你喜欢
        • 2020-07-11
        • 2021-09-21
        • 2016-11-05
        • 2017-01-10
        • 2019-02-05
        • 2016-06-27
        • 1970-01-01
        • 2019-06-03
        相关资源
        最近更新 更多