CORS (совместное использование ресурсов между источниками)
Что такое CORS (совместное использование ресурсов между источниками)?
CORS (совместное использование ресурсов между источниками)Механизм, обеспечиваемый браузером, позволяющий серверу выборочно ослабить политику одного источника, чтобы JavaScript одного домена мог читать ответы другого.
CORS реализуется HTTP-заголовками ответа 'Access-Control-Allow-Origin', 'Access-Control-Allow-Methods', 'Access-Control-Allow-Headers' и 'Access-Control-Allow-Credentials'. Для «непростых» запросов браузер сначала отправляет preflight 'OPTIONS' и продолжает только при явном разрешении origin и метода. CORS не защищает сервер — API всё равно можно вызвать напрямую, — он лишь контролирует, какие источники могут прочитать ответ внутри браузера. Типичные ошибки (отражение заголовка 'Origin' с credentials, использование '*' вместе с куками, доверие к 'null'-источнику) приводят к утечке данных и угону аккаунтов. Безопасное умолчание — строгий per-route allow-list.
● Примеры
- 01
API возвращает 'Access-Control-Allow-Origin: https://app.example.com' и 'Access-Control-Allow-Credentials: true' только для этого источника.
- 02
Сервер с ошибкой конфигурации отражает любой Origin и разрешает credentials, открывая кражу данных между сайтами.
● Частые вопросы
Что такое CORS (совместное использование ресурсов между источниками)?
Механизм, обеспечиваемый браузером, позволяющий серверу выборочно ослабить политику одного источника, чтобы JavaScript одного домена мог читать ответы другого. Относится к категории Безопасность приложений в кибербезопасности.
Что означает CORS (совместное использование ресурсов между источниками)?
Механизм, обеспечиваемый браузером, позволяющий серверу выборочно ослабить политику одного источника, чтобы JavaScript одного домена мог читать ответы другого.
Как защититься от CORS (совместное использование ресурсов между источниками)?
Защита от CORS (совместное использование ресурсов между источниками) обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия CORS (совместное использование ресурсов между источниками)?
Распространённые альтернативные названия: Cross-Origin Resource Sharing.