Заголовки: Access-Control-Allow-Credentials
Заголовок Access-Control-Allow-Credentials
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Заголовок ответа HTTP Access-Control-Allow-Credentials сообщает браузерам, разрешает ли сервер включать учётные данные в междоменные HTTP-запросы.
К учётным данным относятся файлы cookie, клиентские сертификаты Transport Layer Security (TLS) или заголовки аутентификации, содержащие имя пользователя и пароль. По умолчанию эти учётные данные не отправляются в междоменных запросах, а их отправка может сделать сайт уязвимым для атак межсайтовой подделки запросов (CSRF).
Клиент может запросить включение учётных данных в межсайтовые запросы несколькими способами:
- С помощью
fetch(), задав параметруcredentialsзначение"include". - С помощью
XMLHttpRequest, задав свойствуXMLHttpRequest.withCredentialsзначениеtrue. - С помощью
EventSource(), задав свойствуEventSource.withCredentialsзначениеtrue.
Если учётные данные включены:
- Для запросов с предварительной проверкой: предварительный запрос не содержит учётных данных. Если в ответе сервера на предварительный запрос заголовок
Access-Control-Allow-Credentialsимеет значениеtrue, фактический запрос будет содержать учётные данные; в противном случае браузер сообщит об ошибке сети. - Для запросов без предварительной проверки: запрос будет содержать учётные данные. Если в ответе сервера заголовок
Access-Control-Allow-Credentialsне имеет значенияtrue, браузер сообщит об ошибке сети.
| Тип заголовка | Заголовок ответа |
|---|
Синтаксис
Access-Control-Allow-Credentials: true
Директивы
true-
Сервер разрешает включать учётные данные в междоменные HTTP-запросы. Это единственное допустимое значение для этого заголовка; оно чувствительно к регистру. Если учётные данные не нужны, полностью опустите этот заголовок, а не задавайте ему значение
false.
Примеры
Разрешение на отправку учётных данных:
Access-Control-Allow-Credentials: true
Использование fetch() с учётными данными:
fetch(url, {
credentials: "include",
});
Использование XMLHttpRequest с учётными данными:
const xhr = new XMLHttpRequest();
xhr.open("GET", "http://example.com/", true);
xhr.withCredentials = true;
xhr.send(null);
Спецификации
| Спецификация |
|---|
| Fetch> # http-access-control-allow-credentials> |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
Access-Control-Allow-Credentials |
4 | 12 | 3.5 | 12 | 4 | 18 | 4 | 12 | 3.2 | 1.0 | 2 | 3.2 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Credentials