Возможно ли получить путь сохраненного файла cookie?

Быстрый вопрос: можно указать путь, в котором cookie является допустимым, но также возможно получить (прочитать) этот путь из файла cookie (в PHP)?

Или еще: возможно ли продлить время печенья, не зная, на каком пути он находится (но сохраняя путь одинаковым)?

Поскольку большинство браузеров по-прежнему используют спецификацию Netscape (см. Кэшированную версию http://wp.netscape.com/newsref/std/cookie_spec.html ), а не тот, который указан в RFC 2109 или RFC 2965 , элементы списка в заголовке запроса cookie поле будет состоять только из пары имени и значения:

При запросе URL-адреса с HTTP-сервера браузер будет сопоставлять URL-адрес со всеми куки-файлами, и если какой-либо из них совпадает, строка, содержащая пары имя / значение всех совпадающих файлов cookie, будет включена в HTTP-запрос. Вот формат этой строки:

 Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ... 

Только более новые спецификации (RFC 2109 и RFC 2965) позволяют клиенту отправлять путь в запросе (выдержка из RFC 2109):

Синтаксис для заголовка:

 cookie = "Cookie:" cookie-version 1*((";" | ",") cookie-value) cookie-value = NAME "=" VALUE [";" path] [";" domain] cookie-version = "$Version" "=" value NAME = attr VALUE = value path = "$Path" "=" value domain = "$Domain" "=" value 

[…] Значение атрибута path должно быть значением атрибута Path, если таковое имеется, соответствующего заголовка ответа Set-Cookie. В противном случае атрибут должен быть опущен из заголовка запроса cookie. […]

включить путь в значение cookie

да, вы можете изменить / продлить время печенья, когда файл cookie установлен как корневой файл cookie. То есть вы должны установить cookie с «/» в последнем параметре. см. код ниже …

setcookie("Message", $msg, time()+60, "/");

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

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

Вы можете попытаться переустановить файл cookie без указания пути, но я очень сомневаюсь, что он сработает. Там может быть много разных соответствующих файлов cookie с одинаковым именем и более точных путей. Если вы попытались настроить cookie с тем же именем, но без браузера пути не знали бы, какой из файлов cookie он должен обновить (может быть, один из наиболее точных путей), но это может привести к ошибкам (безопасности?) При точном cookie, который вы ожидаете set не установлен).