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

Как браузер защищает в CORS?

DOM и браузер

В CORS браузер защищает пользователя, проверяя заголовки `Access-Control-Allow-` в ответе и блокируя чтение ответа кросс-доменного запроса, если сервер не разрешил origin.**

Как браузер защищает

CORS — механизм браузера (часть Same-Origin Policy). Браузер выполняет проверки:

1. Добавляет заголовок Origin

К кросс-доменному запросу браузер добавляет Origin с источником страницы.

2. Preflight для сложных запросов

Для «сложных» запросов (PUT/DELETE, кастомные заголовки, JSON) браузер сначала шлёт OPTIONS, спрашивая разрешение:

OPTIONS → сервер отвечает Access-Control-Allow-Methods/Headers

3. Проверка ответа

Браузер проверяет Access-Control-Allow-Origin в ответе. Если origin не разрешён — блокирует чтение ответа JavaScript-ом (выдаёт ошибку CORS).

Что именно защищается

  • Браузер блокирует чтение ответа, а не сам запрос (он часто доходит до сервера).
  • Так вредоносный сайт не прочитает приватные данные пользователя через его сессию/cookie.

Главное

  • CORS действует только в браузере (curl/сервер не проверяют).
  • Сервер решает, каким origin разрешить (заголовки).
  • Для credentials (cookie) нужен конкретный origin, не *.

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

В CORS браузер защищает пользователя: добавляет Origin, для сложных запросов делает preflight OPTIONS, проверяет Access-Control-Allow-Origin в ответе и блокирует чтение ответа JS-ом, если origin не разрешён. Так чужой сайт не прочитает данные пользователя через его сессию. Защита только браузерная; сервер задаёт разрешения.

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