PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Кого пытается защитить CORS?

DOM и браузер

CORS защищает прежде всего пользователя (и его данные), не давая стороннему сайту читать ответы запросов, отправленных от имени пользователя к другому origin.

Кого и от чего защищает

CORS — часть политики Same-Origin Policy, которая защищает пользователя: не позволяет вредоносному сайту evil.com читать данные пользователя с bank.com, используя его авторизацию (cookie).

Пользователь залогинен на bank.com.
Открывает evil.com → тот делает fetch к bank.com/api.
Браузер БЛОКИРУЕТ чтение ответа (если bank.com не разрешил origin evil.com).

Так злоумышленник не прочитает приватные данные пользователя через его же сессию.

Нюансы

  • CORS защищает чтение ответа в браузере. Сам запрос часто доходит до сервера (поэтому изменяющие операции защищают ещё и CSRF-механизмами).
  • Это защита браузера — вне браузера (curl, сервер) CORS не действует.
  • Сервер решает, каким origin разрешить чтение (Access-Control-Allow-Origin).

CORS против CSRF

  • CORS/SOP — не даёт чужому сайту прочитать ответ.
  • CSRF-защита — не даёт чужому сайту выполнить изменяющее действие.

Они дополняют друг друга.

Коротко для собеседования

CORS (через Same-Origin Policy) защищает пользователя: не даёт стороннему сайту читать ответы кросс-доменных запросов, отправленных с его cookie/сессией, к другому origin. Это защита браузера на чтение ответа; от изменяющих действий защищает CSRF-механизм. Разрешения задаёт сервер.

Другие вопросы раздела