Файл cookie не установлен после добавления www в домен cookie

Я не могу установить cookie в браузере. Это происходит, когда я добавляю www в домен cookie, но не могу понять, почему.

Описание проблемы

У нас есть домен mycompany.com, приложение, работающее под mycompany.com, и другое приложение под subdomain.mycompany.com. Каждый из них имеет свой собственный файл cookie, безопасный и httpOnly. Мы не хотим, чтобы эти файлы cookie распространялись между доменами. У нас был домен для файла cookie mycompany.com, установленный как .mycompany.com. Проблема в том, что он утекает на subdomain.mycompany.com, поэтому, чтобы избежать этого, я изменил домен на www.mycompany.com. В нашем конфиге апача мы перенаправляем все запросы с mycompany.com на www.mycompany.com и весь трафик перенаправляем на https.

Поэтому, когда я перехожу к mycompany.com или www.mycompany.com, я попадаю в www.mycompany.com, домен и домен cookie совпадают, это должно работать, но это не так. Файл cookie для mycompany.com отсутствует в локальном хранилище (Chrome и Firefox). (Я также пытался использовать только mycompany.com в качестве домена cookie, но, как и ожидалось, cookie просачивается в subdomain.mycompany.com, как когда я использовал .mycompany.com)

Вот файл cookie, отправленный сервером:

my_cookie=xxxxxxxxxxxxxx;Version=1;Comment=;Domain=www.mycompany.com;Path=/;Max-Age=604800000;Secure;HttpOnly;Expires=Fri, 26 Aug 2016 09:32:40 GMT

Читая об этом, я подумал, что проблема может быть в перенаправлении, но это происходит независимо от того, перехожу ли я к mycompamy.com или www.mycompany.com.

Что я делаю неправильно?

PS: файл cookie создается не приложением, работающим под mycompany.com, а другим процессом, работающим под services.mycompany.com, которому клиент отправляет запросы, чтобы получить файл cookie. Может быть, это может быть проблемой.


person mody75    schedule 19.08.2016    source источник


Ответы (1)


PS: файл cookie создается не приложением, работающим под mycompany.com, а другим процессом, работающим под services.mycompany.com, которому клиент отправляет запросы, чтобы получить файл cookie. Может быть, это может быть проблемой.

Да, в целях безопасности services.mycompany.com сможет устанавливать файлы cookie только для services.mycompany.com или .mycompany.com.

Если бы браузеры могли устанавливать файлы cookie для других доменов, это привело бы к атакам с отравлением файлов cookie (например, компрометация элемента управления CSRF с двойной отправкой файлов cookie, разрешение фиксации сеанса или введение XSS, где необработанные значения файлов cookie отражаются в ответе).

Даже если вы измените его так, что www.mycompany.com установит файл cookie www.mycompany.com, имейте в виду, что something-outside-your-control.mycompany.com может установить файл cookie на уровне .mycompany.com, о котором ваш www.mycompany.com домен не будет знать, откуда он был установлен. Это связано с тем, что в HTTP-запросе для файла cookie отправляются только имя и значение, а не домен, из которого он был установлен.

person SilverlightFox    schedule 22.08.2016