Когда вы получаете доступ к базе данных Firebase из своего приложения, ваше приложение содержит информацию о конфигурации, которая необходима для доступа к вашей базе данных.Для базы данных реального времени это URL шаблона https://yourprojectname.firebaseio.com
, который находится в вашем google-services.json
.Приложение должно содержать эту информацию, чтобы ваше приложение могло работать.Без него приложение не будет знать, к какой базе данных обращаться.
Но это также означает, что злоумышленник может извлечь эту информацию из вашего приложения и использовать ее для доступа к базе данных, не используя ваше приложение.Как только они узнают URL вашей незащищенной базы данных, они могут использовать это в своем собственном коде.И если их код не следует тем же правилам, что и ваш код, ваши данные будут повреждены (или скомпрометированы), так как нет никаких правил безопасности на стороне сервера, которые бы обеспечивали соблюдение этих правил.
Очень простой пример - они могут использовать Firebase REST API для удаления всех ваших данных .
curl -X DELETE 'https://yourprojectname.firebaseio.com/.json'
Если вы реализуете логику в сервере Firebase-Что касается правил безопасности, то злоумышленник не сможет обойти его.Даже если они берут URL вашей базы данных, их вызовы кода / REST также будут проверены на соответствие правилам безопасности и отклонены, если они не совпадают.