Firebase читать правила безопасности - PullRequest
0 голосов
/ 14 июля 2020

Я создаю сайт, на котором пользователь может заказать такси. Теперь, чтобы заказать его, нужен активный водитель. Я принимаю меры во внешнем интерфейсе, чтобы скрыть фактическую форму заказа, но если кто-то передаст ее и сможет использовать форму независимо от отправки запроса на запись в документ «заказы», ​​он затем прочитает базу данных firestore для «активного» Водитель". Таким образом, хотя запись в базу данных может быть легко ограничена правилами, при этом выполняется чтение из базы данных для получения любых активных драйверов. Итак, мой вопрос в том, какие меры я могу / должен реализовать, чтобы пользователь не мог просто продолжать чтение для активных драйверов, отправив запрос на запись в документ «заказ»? Могу ли я «заблокировать» пользователя, если он, например, сделает x запросов за определенный период времени? Я все еще довольно новый пользователь firebase, и меня несколько беспокоят ограничения безопасности и квоты проекта.

Ответы [ 3 ]

0 голосов
/ 14 июля 2020

Я немного изучил это, и я не думаю, что это возможно с Firestore прямо сейчас. Потенциальный злоумышленник может запустить форму DoS-атаки, которая приведет к множеству операций чтения. Поскольку с вас взимается плата за чтение БД, это, вероятно, приведет к большому счету от Google (но я не уверен на 100% в ToS, это может быть не так уж и плохо).

Я полагаю, вы могли бы добавить какой-то автоматический выключатель, который отключает Firestore в зависимости от количества запросов или суммы счета.

0 голосов
/ 15 июля 2020

Вы не можете установить предел чтения

Вы можете установить предел записи, как описано здесь

0 голосов
/ 14 июля 2020

Что вы можете сделать, так это установить средства навигации для конкретной формы заказа. Вам необходимо убедиться, что после того, как пользователь попытается отправить запрос на сервер, у вас есть переменная, которая проверяет, сколько раз кто-то запрашивал операцию. Тогда откажитесь соответственно.

...