Выбор ответа Junior CORS обновлено
Защищает ли CORS API
Вопрос
Бэкендер говорит: «Мы закрыли API от посторонних, разрешив CORS только для нашего домена». Что не так?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: CORS сдерживает только скрипты чужих сайтов в браузере, а curl и чужой бэкенд он не остановит. CORS это механизм браузера, который не даёт чужому сайту прочитать ответ в JS.
Варианты ответа
- CORS сдерживает только скрипты чужих сайтов в браузере, а curl и чужой бэкенд он не остановитправильный ответ
- Ничего: CORS отклоняет запросы с чужим Origin на стороне сервера ещё до обработчика
- CORS работает только поверх HTTPS, а на HTTP заголовки Allow-Origin игнорируются
- Надо было ещё указать
Access-Control-Max-Age, тогда защита от посторонних полная
Разбор
CORS это механизм браузера, который не даёт чужому сайту прочитать ответ в JS. Клиенты вне браузера заголовков не проверяют, так что от посторонних защищают авторизация, а не CORS. Сервер сам по CORS ничего не отклоняет. HTTPS на работу CORS не влияет. Max-Age только кеширует результат preflight.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.