Чтение междоменных (междоменных) файлов cookie в ColdFusion (HTTPS) - PullRequest
7 голосов
/ 14 декабря 2011

Мне нужно прочитать файл cookie, созданный https://sub1.domain.com из http://origin.domain.com с использованием ColdFusion.Я видел много информации о том, как создать cookie в поддомене с использованием CFCOOKIE, но я не знаю, как получить доступ к cookie, который уже существует.

В любом случае HTTPS сделает это невозможным?

ADDENDUM: проверенный ответ ниже правильно отвечает на вопрос, сформулированный выше.В моем случае это не сработало.Я должен был объяснить: cookie на sub1.domain.com создается сторонним продуктом, который не был написан в Coldfusion и не находится под моим контролем.

1 Ответ

6 голосов
/ 14 декабря 2011

Это действительно довольно просто. Когда вы создаете куки, присвойте ему атрибут домена, равный вашему домену. Важно помнить, что он ДОЛЖЕН иметь начальную точку.

<cfcookie name="mycookie" value="myvalue" domain=".mydomain.com" path="/" />

Начальная точка указывает браузеру отправлять cookie-файлы на любой поддомен mydomain.com, включая sub.mydomain.com и blah.mydomain.com.

После этого вы сможете получить доступ к cookie из любого из поддоменов так же, как и из любого другого cookie:

<cfset thevalue = cookie.mycookie />

Это рекомендуется сделать для поддержки старых браузеров.

Вот заявление из RFC2109: Механизмы управления состоянием HTTP, которые могут повлиять на старые браузеры

"Чтобы предотвратить возможные нарушения безопасности или нарушения конфиденциальности, пользовательский агент отклоняет cookie (не хранит его информацию), если… Значение для атрибут Domain не содержит встроенных точек или не начинается с точка. "

Я считаю, что это отменяется RFC 2965: механизм управления состоянием HTTP, который заявляет

"Домен = значение ДОПОЛНИТЕЛЬНО. Значение атрибута Домен указывает домен, для которого действует cookie. Если явно указано значение не начинается с точки, пользовательский агент предоставляет ведущий точка. "

Что объясняет, почему он может работать для вас, по-видимому, в современном браузере. Я бы все же предложил тебе добавить это.

...