Есть два домена: example.com. Теперь и a.example.com, и example.com могут написать cookie с именем test_cookie. Теперь у нас есть страница ...
Есть два домена: example.com. Теперь и a.example.com, и example.com могут написать cookie с именем test_cookie. Теперь у нас есть страница ...
Есть два домена: a.example.com example.com
example.com является родительским доменом a.example.com . Теперь и a.example.com и example.com могут написать cookie с именем test_cookie . Теперь у нас есть страница a.example.com , которая будет использовать JavaScript для чтения значения cookie test_cookie . Есть ли способ, который читает только файлы cookie, установленные в домене a.example.com , а не example.com ?
Может быть, мой вопрос был немного неясен,
цель, которую я хочу достичь: 1. Я хочу написать функцию с именем readCookie для чтения куки с именем test_cookie , которая: а. когда есть cookie: test_cookie в домене example.com и НЕТ cookie test_cookie в домене a.example.com , readCookie возвращает ноль б. когда есть cookie: test_cookie в домене example.com И ТАКЖЕ cookie test_cookie в домене a.example.com , readCookie возвращает значение cookie в домене a.example.com с. когда нет файла cookie: test_cookie в exampler.com , но в домене a.example.com , readCookie, есть файл cookie test_cookie возвращает значение cookie в домене a.example.com .
Это зависит от того, как был определен файл cookie, особенно если для атрибута Домен указано, какие значения он имеет (см. RFC 2965 – Роль агента пользователя):
.
, например .example.com
(если нет, например, example.com
, пользовательский агент изменит его на .example.com
). Теперь домен файла cookie должен соответствовать домену домена, который будет отправлен в запросе. И это так:
Это означает:
effective domain | example.com | a.example.com | foo.example.com | bar.a.example.com
------------------+-------------+---------------+-----------------+-------------------
example.com | ✓ | ✗ | ✗ | ✗
a.example.com | ✗ | ✓ | ✗ | ✗
.example.com | ✓ | ✓ | ✓ | ✓
.a.example.com | ✗ | ✓ | ✗ | ✓
Таким образом, если вы хотите, чтобы файл cookie был действителен только для a.example.com, вы либо опускаете атрибут Домен, либо указываете . Атрибут ]Domain с атрибутом .a.example.com
(это сделает файл cookie действительным для a.example.com и его поддоменов).
Невозможно ограничить файл cookie example.com
– только путем установки параметра domain
. Однако в большинстве браузеров файл cookie по умолчанию будет иметь значение example.com
— только если не указан домен
. К сожалению, в IE по умолчанию разрешен доступ поддоменов к файлу cookie.
Вот почему вы размещаете свой основной сайт по адресу www.example.com
, а не только example.com
. С сайтом в основном домене example.com
вы не можете надежно хранить свои файлы cookie отдельно.