домен php setcookie

Некоторое приложение, написанное не мной, а не PHP, создает файл cookie для домена «www.domain.com».

Я пытаюсь заменить этот файл cookie. Итак, в php я сделал:

setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.domain.com', false); 

Однако полученный файл cookie создается для домена: «.www.domain.com», обратите внимание на точку «.». перед доменом.

Поэтому он не заменяет его, он создает еще один файл cookie. Что я могу сделать?

Проблема также адресуется здесь: http://php.net/manual/en/function.setcookie.php

См. Комментарий от «jah»: If you want to restrict the cookie to a single host, supply the domain parameter as an empty string

Вы также можете попробовать «.domain.com» в качестве домена. Конечная точка разрешает куки для всех поддоменов для «domain.com» и может перезаписывать «www.» – cookie, но я сначала пойду с вышеуказанным решением.

Если вы укажете домен, вы должны следовать RFC 2109 и префикс домена с точкой; иначе клиент сделает это. Но если вы вообще не укажете домен, клиент возьмет домен запроса.

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

 setcookie('mycookie','mydata1',time() + 2*7*24*60*60,'/','www.domain.com', false); setcookie('mycookie','mydata2',time() + 2*7*24*60*60,'/','www.domain.com', false); setcookie('mycookie_top','mydata1',time() + 2*7*24*60*60,'/','domain.com', false); setcookie('mycookie_top','mydata2',time() + 2*7*24*60*60,'/','domain.com', false); 

Затем проверьте файл cookie, созданный этой командой в Firebug. Если вы продолжаете получать двойной файл cookie, это может быть ошибкой в ​​PHP. Кроме того, попробуйте установить cookie в код javascript, посмотрите, есть ли у вас все те же проблемы.