Мне было интересно, почему нельзя устанавливать заголовки cookie, используя setRequestHeader. Есть ли какая-то конкретная причина или только что они добавлены самим браузером, поэтому эти заголовки отключены? Есть ли проблема с безопасностью?
- Изменить
Я работаю над node.js и использовал модуль xmlhttprequest
. Ниже приведен тестовый код:
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.withCredentials = true;
xhr.setRequestHeader('Cookie', "key=value");
xhr.send(null);
Здесь мне нужно установить cookie-заголовок, поскольку node.js' xmlhttprequest
явно не добавляет cookie-заголовок (как это делают браузеры). При попытке сделать это xmlhttprequest
дает ошибку "Refused to set unsafe header
".
Хотя я нашел патч и успешно могу отправить cookie-заголовок. Но задавался вопросом, почему он был отключен для настройки cookie-заголовка? Где бы я ни читал, выяснилось, что это необходимо для целостности данных и безопасности, но какая защита может быть нарушена в этом случае, не упоминается где. Я хочу оценить, действительно ли эта проблема целостности данных применима для приложения node.js, если я иду с моим патчем.