Если вы используете setcookie
и не указываете домен в параметре domain , setcookie
не будет устанавливать соответствующий параметр Domain в поле заголовка Set-Cookie (это также относится к session.cookie_domain ).
Теперь, если параметр Domain отсутствует, пользовательский агент по умолчанию задает значение домена, равное запросу-хосту (см. RFC 2109, раздел 4.3.1 ):
Пользовательский агент применяет эти значения по умолчанию для необязательных атрибутов, которые отсутствуют:
- Домен - по умолчанию используется запрос хоста. (Обратите внимание, что в начале запроса-хоста нет точки.)
Если присутствует параметр Domain , его значение должно начинаться с точки, в противном случае пользовательский агент отклонит файл cookie (см. RFC 2109 раздел 4.3.2 ):
Чтобы предотвратить возможные нарушения безопасности или конфиденциальности, пользовательский агент отклоняет cookie-файл (не хранит его информацию), если выполнено любое из следующих действий:
- Значение атрибута Domain не содержит встроенных точек или не начинается с точки.
Таким образом, как описано на странице руководства setcookie
, используйте .example.com
, если вы хотите, чтобы ваш файл cookie был доступен на example.com и его поддоменах, и не укажите домен, если вы хотите сделать его доступным только для текущего домена.