правила безопасности firebase - общедоступные и аутентифицированные - PullRequest
0 голосов
/ 22 января 2019

Я надеюсь, что это правильный форум, чтобы задать такой общий вопрос.

Если я не ограничиваю правила чтения и записи только для аутентифицированных пользователей, firebase заявляет, что любой может читать и писать из базы данных. Но почему любой может читать и писать, когда само приложение решает, кому разрешить чтение / запись?

Это потому, что хакер теоретически мог взломать базу данных и читать / писать из коллекций? Если это так, когда правила ограничены только для аутентифицированных пользователей, аутентифицированный хакер может получить доступ к частным данным, например контенту, который не входит в область действия его пользователя.

Короче говоря, как это влияет на то, установлены ли правила, чтобы позволить публичным и аутентифицированным пользователям доступ к БД, когда на практике разработчик - тот, кто определяет эти ограничения в приложении, в том, как приложение общается с firebase?

Заранее спасибо

1 Ответ

0 голосов
/ 22 января 2019

Само приложение не единственный источник трафика, который может получить ваша база данных.Ваша база данных предоставляет API-интерфейс REST, который любой может вызвать напрямую, что эффективно разрешает чтение и запись в любом месте базы данных, которая не защищена.(И Firestore, и Realtime Database предлагают общедоступные REST API.) Единственное, что нужно знать злоумышленнику, - это имя вашего проекта, и эта строка становится общедоступной после первой отправки приложения.

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

...