Можно ли установить cookie для http://www.example.com из файл PHP, расположенный по адресу https://secure.example.com ? У меня есть код, который мне дали, который, похоже, пытается и терпит неудачу. Мне было интересно, возможно ли это вообще.

10
nilacqua 17 Мар 2010 в 21:56

2 ответа

Лучший ответ

Веб-страницы могут устанавливать файлы cookie только для домена второго (или более высокого) уровня, которому они принадлежат.

Это означает, что secure.example.com может читать и устанавливать файлы cookie для secure.example.com или .example.com, последний из которых также может быть прочитан и установлен www.example.com

И последнее замечание: если для файла cookie установлен флаг безопасности, его можно прочитать и установить только через соединение https.

15
Powerlord 17 Мар 2010 в 22:01
Привет, @Powerlord, означает ли это, что я могу использовать Javascript на secure.example.com, чтобы установить cookie и для .example.com? Просто изменив значение для document.cookie? Спасибо
 – 
louis.luo
13 Сен 2012 в 23:30
У меня нет большого опыта работы с файлами cookie в JavaScript. Я думаю, вы сможете это сделать, хотя ... насколько я помню, это часть стандарта Cookie.
 – 
Powerlord
13 Сен 2012 в 23:50
Спасибо @Powerlord. Я имею дело с такой проблемой, но ваш ответ, по крайней мере, подтвердил, что это должно быть возможно. Спасибо!
 – 
louis.luo
14 Сен 2012 в 00:51
Итак, если у вас есть a.example и b.example.com, но ничего больше .example.com, то это не жизнеспособное решение ...
 – 
Michael
29 Мар 2018 в 07:24

Если вы установите домен cookie на «.example.com», файл cookie будет работать для всех поддоменов.

4
Amy B 17 Мар 2010 в 22:00
Мне интересно, могу ли я указать, в какие домены отправляется файл cookie.
 – 
nilacqua
17 Мар 2010 в 22:24
@nilacqua: Нет. Если файл cookie установлен для .example.com, он будет виден для любого поддомена example.com.
 – 
Piskvor left the building
17 Мар 2010 в 22:26
Будет ли это работать для всех дочерних доменов. Хотелось бы, чтобы .example.com работал на sub.example.com и sub.sub.example.com? Или вам нужно сделать .sub.example.com, чтобы это сработало?
 – 
Matt
25 Авг 2020 в 21:44