Ваша база данных Cloud Firestore небезопасна: любой пользователь может прочитать всю вашу базу данных - PullRequest
1 голос
/ 16 января 2020

Создание приложения с использованием базы данных Firestore для его содержимого.

Правила таковы:

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow public read access, but only content owners can write
    match /{document=**} {
      allow read: if true
      allow write: if request.auth.uid == request.resource.data.author_uid
    }
  }
}

Как говорится в предупреждении, я позволил read только установить true, что я Понимаете, это проблема.

Как мне сделать так, чтобы мое приложение Flutter могло читать содержимое моей базы данных Firestore, а любой случайный пользователь не может? Приложение общедоступное / бесплатное ... и т. Д. c, поэтому я не хочу, чтобы людям приходилось входить в систему.

Дам ли я своему приложению какой-то код и проверю это? Или ...?

Обновление: Я вижу, что есть анонимный вход, который мог бы решить проблему, но это перебор? Это действительно помогает? Будет ли это держать мое приложение от использования в автономном режиме? ... и др c

Ответы [ 2 ]

3 голосов
/ 16 января 2020

Нет способа защитить доступ, основываясь на том, что это ваше приложение или ваш код. Это просто не то, как безопасность работает с облачными сервисами. Если вы хотите ограничить доступ законным пользователям вашего приложения, вам нужно будет зарегистрировать этих пользователей и каким-то образом узаконить их.

Что законные средства здесь, конечно, зависит от вас. Является ли это «они вошли в систему» ​​(request.auth != null), или они подтвердили свой адрес электронной почты, чтобы вы могли связаться с ними (request.auth.token. email_verified == true), или один из многих других вариантов, все это возможно.

См. Также:

0 голосов
/ 16 января 2020

В разделе «Правила» базы данных попытайтесь закодировать их следующим образом: если пользователь вошел в систему, он получит доступ. Перейдите по этой ссылке для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...