Firebase и Google сокращение с тем же ключом API

Как я понял, выставьте ключ API, это не будет угрозой безопасности, если я добавлю правила проверки в свою базу данных, как это упоминалось здесь,

var config = {
  apiKey: '<your-api-key>', // this key
  authDomain: '<your-auth-domain>',
  databaseURL: '<your-database-url>',
  storageBucket: '<your-storage-bucket>'
};

Я также понял, что я могу вызвать API Google Shorttener с помощью ключа API Firebase, теперь это рискованно, любой может вызвать API Google Shorttener с помощью моего API-ключа Firebase, как я могу избежать этого

1 ответ

Решение

Ключи API - это общие идентификаторы для доступа через API Google - они не только для Firebase. Они используются для доступа к API, когда вам не нужно идентифицировать себя как конкретного пользователя (где вы будете использовать токен доступа OAuth).

Ключи API определяют, что ваш проект выполняет вызов, например, передает идентификатор проекта, но, что немаловажно, может быть восстановлен - поэтому, если он используется плохим актером, вы можете удалить его.

Так как же использовать эти ключи API, не открывая себя тому, кто спамит другим API?

Добавьте ограничение домена. Ключи браузера могут быть ограничены, чтобы требовать быть в определенном домене. Вы можете добавить их из консоли разработчика Google:

  1. Перейдите на страницу "Учетные данные" для вашего проекта
  2. Найдите свой ключ API и выберите его
  3. Выберите "HTTP рефереры (веб-сайты)"
  4. Добавьте каждый из ваших доменов

Будьте осторожны с этим! Убедитесь, что вы закрыли весь домен, на котором вы работаете, или заблокируете доступ (например, если у вас есть.com и.es версия вашего сайта, убедитесь, что оба домена включены в белый список).

Не включайте API. Если вам не нужно включать URL-адрес в проекте Firebase, вы можете отключить его в консоли разработчика Google. Большинство API запускаются отключенными, и несколько типов API нельзя вызывать с помощью ключа API в любом случае (для них требуется служебная учетная запись, которая немного более безопасна).

Другие вопросы по тегам