Firebase读取安全规则

时间:2020-07-14 10:07:42

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

我正在创建一个网站,用户可以在此订购出租车。现在要订购一个,必须有一个活动的驱动程序。我正在前端采取措施以隐藏实际的订单表单,但是如果有人通过了该表单,并且能够使用该表单而不管向“订单”文档发送写请求,那么它将读取Firestore数据库中的“活动”司机”。因此,尽管可以很容易地用规则来限制对数据库的写入,但这仍然会从数据库中读取数据以获取任何活动的驱动程序。所以我的问题是我可以/应该采取什么样的措施,以使用户不能仅仅通过向“ order”文档发送写请求来继续读取活动的驱动程序?例如,如果用户在特定时间段内执行了x个请求,是否可以“锁定”用户?我仍然是Firebase的新用户,并且对项目的安全性和配额限制有些担心。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我已经研究了一下,而且我认为Firestore目前无法实现。潜在的攻击者可以进行某种形式的DoS攻击,从而导致大量读取。由于您按数据库读取收费,这可能会导致Google支付巨额账单(但我对ToS并不100%肯定,可能还不错)。

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

答案 2 :(得分:0)

您不能设置读取限制

您可以按照here

设置写限制