Выбор ответа Junior CORS обновлено

Защищает ли CORS API

Вопрос

Бэкендер говорит: «Мы закрыли API от посторонних, разрешив CORS только для нашего домена». Что не так?

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

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

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

Коротко

Правильный ответ: CORS сдерживает только скрипты чужих сайтов в браузере, а curl и чужой бэкенд он не остановит. CORS это механизм браузера, который не даёт чужому сайту прочитать ответ в JS.

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

  1. CORS сдерживает только скрипты чужих сайтов в браузере, а curl и чужой бэкенд он не остановитправильный ответ
  2. Ничего: CORS отклоняет запросы с чужим Origin на стороне сервера ещё до обработчика
  3. CORS работает только поверх HTTPS, а на HTTP заголовки Allow-Origin игнорируются
  4. Надо было ещё указать Access-Control-Max-Age, тогда защита от посторонних полная

Разбор

CORS это механизм браузера, который не даёт чужому сайту прочитать ответ в JS. Клиенты вне браузера заголовков не проверяют, так что от посторонних защищают авторизация, а не CORS. Сервер сам по CORS ничего не отклоняет. HTTPS на работу CORS не влияет. Max-Age только кеширует результат preflight.

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

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

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