Если вы беспокоитесь, что пользователь может просто перепроектировать ваше приложение и испортить ваш код, чтобы нанести вред вашей базе данных, тогда да, это возможно. У вас должен быть правильный набор правил. Говоря об обновлении данных в базе данных из приложения, постарайтесь, насколько это возможно, обновить ее с помощью облачных функций. Таким образом, вам может потребоваться предоставить вашим пользователям меньший доступ к базе данных напрямую.
Вы можете проверить мой ответ здесь . Это поможет вам установить правила и некоторые способы адаптации кода приложения в зависимости от ситуации. В ответе также есть несколько строк о том, где можно использовать облачные функции, чтобы уменьшить прямой контакт с базой данных.
И если нет сведений или вы чувствуете, что информация должна быть обновлена напрямую в базе данных, измените свои правила на это: ".write": "$uid === auth.uid"
. Здесь $uid
- имя родительского узла и может быть любым другим. Таким образом, пользователь может получить доступ только к своим данным, и даже если пользователь изменяет ваше приложение, он может нанести вред только своим данным. (У вас должен быть установлен правильный набор правил).
Вы можете проверить эту ссылку для большинства комбинаций правил.
И обязательно проверьте ответ, ссылка на который выше. Это может прояснить, как это в некоторой степени обезопасит вашу базу данных. Если вы можете представить какую-либо конкретную ситуацию, касающуюся вашего приложения, и хотите получить некоторую информацию о том, как устанавливать там правила, не стесняйтесь оставить комментарий: -)