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

В чем безопасность CORS?

DOM и браузер

Безопасность CORS в том, что он защищает пользователя: не даёт стороннему сайту читать ответы кросс-доменных запросов, отправленных с его cookie/сессией.

Что защищает CORS

CORS — часть Same-Origin Policy, защищающей пользователя. Без неё вредоносный сайт evil.com мог бы:

// на evil.com
fetch('https://bank.com/api/account', { credentials: 'include' })
  .then(r => r.json()) // прочитать приватные данные пользователя

CORS блокирует чтение такого ответа, если bank.com не разрешил origin evil.com. Так злоумышленник не украдёт данные через сессию пользователя.

Нюансы безопасности

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

Что CORS НЕ защищает

  • Сам сервер от прямых запросов (curl/Postman обходят).
  • От CSRF (запрос уходит, но ответ не читается) — нужен SameSite/токены.

Безопасная настройка

  • Разрешать только доверенные origin, не * для приватных API.
  • При credentials: true — конкретный origin.

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

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

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