Выбор ответа Junior Авторизация и безопасность API обновлено

API-ключ в адресе

Вопрос

Партнёрский API принимает ключ так: GET /v1/rates?api_key=sk_live_.... Какой главный риск?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Ключ из URL оседает в логах серверов и прокси, истории браузера и Referer. В HTTPS шифруется и путь с query, так что при передаче ключ не виден.

Варианты ответа

  1. Ключ из URL оседает в логах серверов и прокси, истории браузера и Refererправильный ответ
  2. CDN закеширует ответ вместе с ключом, и его получат другие клиенты
  3. Query-параметры в HTTPS не шифруются, и ключ виден любому, кто перехватит трафик в сети
  4. Ключ в query считается отдельным клиентом и быстрее исчерпает лимит

Разбор

В HTTPS шифруется и путь с query, так что при передаче ключ не виден. Но адреса массово пишутся в логи nginx, прокси, систем мониторинга и в историю браузера. Ключи и токены передают в заголовке (Authorization или X-API-Key).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме