Задать вопрос
@webe
frontend

Как работают Сессии с AJAX?

Все действия происходят на https://domain.ru
Пример 1: при обращении по адресу https://domain.ru/auth устанавливается сессия на сервере и возвращается сессионная кука
Пример 2: при обращении по адресу https://domain.ru:8881/get устанавливается сессия на сервере и возвращается сессионная кука

Мы всегда заходим на https://domain.ru/index.html и отправляем с этой страницы AJAX GET запрос на адреса, который указаны выше.

РЕЗУЛЬТАТЫ:

для примера 1:
у нас установится кука в браузере сразу после выполнения AJAX запроса? Этой кукой можно пользоваться она будет валидная грубо говоря.
для примера 2:
У нас установится кука сразу после выполнения AJAX запроса , но мы ей не сможем пользоваться, потому что она будет для другого домена, мы отправляем запрос на 80 пор, а кука установлена для 8881 ?

Все так? или я что-то путаю?
  • Вопрос задан
  • 306 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
На самом деле ваш вопрос не о сессиях, как вы написали в заголовке, а о том, привязываются ли куки к порту.

Если загуглить что-то вроде "coockie port" то сразу найдется ответ: НЕТ.
Cookies do not provide isolation by port.

Similarly, cookies for a given host are shared across all the ports on that host, even though the usual "same-origin policy" used by web browsers isolates content retrieved via different ports.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
https://tools.ietf.org/html/rfc6265#section-8.5
Cookies не обеспечивают изоляцию портом. Если cookie можно прочитать службой, работающей на одном порту, cookie также читается службой, запущенной на другом порту того же сервера. Если файл cookie доступен для записи службой на одном порту, cookie также может быть доступен для записи службой, запущенной на другом порту того же сервера. По этой причине серверы НЕ ДОЛЖНЫ запускать взаимно недоверяющие службы на разных портах одного и того же хоста и использовать файлы cookie для хранения конфиденциальной информации о безопасности.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы