Как предотвратить несанкционированный доступ к моей базе данных Firebase?
Как я могу запретить другим пользователям доступ к моей базе данных Firebase через мой URL-адрес Firebase? Что я должен сделать, чтобы защитить его только от моего домена?
2 ответа
Прежде всего, поймите, что вы не можете защитить любой URL в Интернете в соответствии с доменом происхождения - злоумышленники могут просто лгать. Защита исходных доменов полезна только для предотвращения атак с использованием подмены сайтов (когда злонамеренный источник притворяется вашим сайтом и обманывает ваших пользователей при входе в систему от их имени).
Хорошая новость заключается в том, что пользователям с самого начала запрещено проверять подлинность на неавторизованных доменах. Вы можете установить свои авторизованные домены в Forge:
- введите ваш URL Firebase в браузер (например, https://instance.firebaseio.com/)
- авторизоваться
- нажмите на вкладку Auth
- добавьте свой домен в список происхождения авторизованных запросов
- выберите "провайдера", которого хотите использовать, и настройте его соответствующим образом
Теперь, чтобы защитить свои данные, вы перейдете на вкладку "Безопасность" и добавите правила безопасности. Хорошей отправной точкой является следующее:
{
"rules": {
// only authenticated users can read or write to my Firebase
".read": "auth !== null",
".write": "auth !== null"
}
}
Правила безопасности - большая тема. Вы захотите набрать скорость, прочитав обзор и посмотрев это видео
Настройте правила безопасности, источник для изучения: https://firebase.google.com/docs/rules
Используйте эмуляторы (начинающим программистам будет сложно увидеть ключи), источник: https://firebase.google.com/docs/rules/emulator-setup .
Облачные функции (они скроют имена коллекций и документов), https://firebase.google.com/docs/functions
Ограничьте ключи API для определенных веб-сайтов (из-за этого люди не смогут получить доступ к вашему веб-сайту / приложению извне)
если кто-то знает еще методы, расскажите, никто не может быть идеальным.