Одной из замечательных особенностей Firestore является то, что вы можете получить к нему доступ прямо со своей веб-страницы. Это означает, что на этой веб-странице вы должны располагать всеми данными конфигурации, чтобы найти соответствующие серверы Google и найти проект Firebase на этих серверах. В вашем примере эти данные являются частью firebaseConfig
.
Поскольку вашему приложению нужна эта конфигурация, любой злоумышленник также может получить эти данные из вашего приложения. Спрятать это невозможно: если вам нужно приложение, его сможет найти достаточно мотивированный злоумышленник. И когда у кого-то есть конфигурация, он может использовать ее для доступа к вашей базе данных.
Способ управления доступом к базе данных - использование правил безопасности на стороне сервера Firebase . Так как они применяются на сервере, их невозможно обойти ни вашим кодом, ни кодом, который пишет злоумышленник.
Вы можете использовать эти правила безопасности, чтобы убедиться, что все данные действительны, например, убедиться, что все обязательные поля есть и что нет данных, которые ваше приложение не использует.
Но общий подход заключается также в том, чтобы гарантировать, что весь доступ к данным авторизован. Для этого требуется, чтобы ваши пользователи проходили аутентификацию Firebase Authentication . Вы можете либо потребовать от своих пользователей войти в систему с их учетными данными, либо вы можете анонимно подписать их в . В последнем случае им не нужно вводить какие-либо учетные данные, но вы все равно можете убедиться, например, что каждый пользователь может записывать данные только в свою область данных и что он может только читать свои собственные данные.