Ответ 1
По умолчанию CORS не включает файлы cookie для запросов с кросс-началом. Это отличается от других методов перекрестного происхождения, таких как JSON-P. JSON-P всегда включает файлы cookie с запросом, и это поведение может привести к классу уязвимостей, называемому подделкой запроса на межсайтовый поиск или CSRF.
Чтобы уменьшить вероятность уязвимостей CSRF в CORS, CORS требует, чтобы и сервер, и клиент подтвердили, что это нормально, чтобы включать куки в запросы. При этом cookie принимает активное решение, а не что-то, что происходит пассивно без какого-либо контроля.
Клиентский код должен установить свойство withCredentials
на XMLHttpRequest
на true
, чтобы дать разрешение.
Однако этого заголовка недостаточно. Сервер должен отвечать заголовком Access-Control-Allow-Credentials
. Ответ с этим заголовком на true
означает, что сервер разрешает куки (или другие учетные данные пользователя) включаться в запросы кросс-происхождения.
Вам также необходимо убедиться, что ваш браузер не блокирует сторонние файлы cookie, если вы хотите, чтобы выполняемые учетные запросы с кросс-началом работали.
Обратите внимание, что независимо от того, выполняете ли вы запросы с одним и тем же источником или кросс-оригиналом, вам необходимо защитить свой сайт от CSRF (особенно если ваш запрос включает файлы cookie).