Означает ли это, что с помощью приложения в базу данных можно вносить только изменения?
Любой, кто может получить ваши элементы конфигурации Firebase , может написать простое HTML, используя JavaScript SDK, и попытайтесь взаимодействовать с бэкэндом Firestore. Обратите внимание, что получить элементы конфигурации Firebase несложно, подробнее см. Внизу.
Вот почему крайне важно реализовать набор правил безопасности, если вы хотите защитить свои данные.
Теперь важно отметить следующий момент о Firebase Аутентификация и «зарегистрированные» пользователи:
Следует отметить, что любой может «создать нового пользователя в вашем проекте Firebase, вызвав метод createUserWithEmailAndPassword()
или выполнив вход в систему пользователя». впервые с использованием федеративного провайдера идентификации, такого как Google Sign-In или Facebook Login »(если, конечно, эти провайдеры идентификации активированы). См. do c.
Итак, опять же, с вашими элементами конфигурации Firebase, кто-то может легко создать страницу HTML, которая вызывает метод createUserWithEmailAndPassword()
.
Это означает, что если вы хотите ограничить доступ к вашему приложению для некоторых определенных c пользователей, просто используя allow read, write: if request.auth.uid != null
в правилах безопасности вашего Firestore, этого недостаточно .
Один из возможных подходов - использовать Пользовательские заявки . Например, вы можете установить конкретную заявку c для всех авторизованных пользователей (например, authorized = true) и адаптировать свои правила безопасности, чтобы проверить наличие этой заявки в токене пользователя.
Примечание. Как найти элементы конфигурации Firebase в веб-приложении?
Найти объект конфигурации Firebase не сложно. Просто просмотрите все файлы HTML или JS, составляющие приложение, для строки apiKey
.