Файл cookie не устанавливается после добавления www в домен cookie
Я не могу установить cookie в браузере. Это происходит, когда я добавляю www в домен cookie, но не могу понять, почему.
Описание проблемы
У нас есть домен mycompany.com
приложение работает под mycompany.com
и другое приложение под subdomain.mycompany.com
, Каждый из них имеет свой собственный файл cookie, безопасный и httpOnly. Мы не хотим, чтобы эти куки распространялись между доменами. У нас был домен для куки mycompany.com
установить как .mycompany.com
, Проблема в том, что он протекает в subdomain.mycompany.com
поэтому, чтобы избежать этого, я изменил домен на www.mycompany.com
, В нашем конфиге apache мы перенаправляем все запросы на mycompany.com
в www.mycompany.com
и весь трафик перенаправляется на https.
Поэтому, когда я иду в mycompany.com
или же www.mycompany.com
Я в конечном итоге www.mycompany.com
, домен и домен 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. Может быть, это может быть проблемой.
1 ответ
PS: cookie создается не приложением, запущенным на mycompany.com, а другим процессом, работающим на services.mycompany.com, на который клиент отправляет запросы, чтобы получить cookie. Может быть, это может быть проблемой.
Да, в качестве меры безопасности, services.mycompany.com
сможет установить файлы cookie только для services.mycompany.com
или же .mycompany.com
,
Если браузеры могут устанавливать файлы cookie для других доменов, это может привести к атакам отравления файлами cookie (например, скомпрометировать элемент управления CSRF Double Submit Cookie, разрешить фиксацию сеанса или ввести XSS, где необработанные значения cookie отражаются в ответе).
Даже если вы измените это так, чтобы www.mycompany.com
устанавливает www.mycompany.com
cookie, помните, что something-outside-your-control.mycompany.com
можно установить печенье в .mycompany.com
уровень, на котором ваш www.mycompany.com
домен не будет знать, откуда он был установлен. Это связано с тем, что в HTTP-запросе для файла cookie отправляется только имя и значение, а не домен, из которого он был установлен.