Если я принадлежу к no-www camp , куки, которые я установил в http://example.com
, будут прочитаны http://sub-domain.example.com
,
И независимо от того, какой язык я использую (perl / asp.net / php / JSP), нет способа Я мог бы обойти эту проблему, потому что это фундаментальная архитектура самого HTTP, true или false ?
Что меня беспокоит, так это то, есть ли конфигурация DNS, которая помешает http://sub-domain.example.com
читать файлы cookie, установленные в http://example.com
?
У меня есть доменное имя http://qweop.com
У меня есть поддомен на http://sd.qweop.com
Теперь проблема в том, что, хотя я не установил куки на http://sd.qweop.com
, когда я читаю куки, там есть куки. Они читают куки от http://qweop.com
.
Как исправить проблему, чтобы куки из основного домена не были прочитаны (запросом) субдомена?
Я пытался изменить 5-й параметр функции php setcookie , но она, похоже, ничего не делает. По сути, этот параметр бесполезен. Я подозреваю, что это ограничение инфраструктуры HTTP.
ОПИСАНИЕ:
http://qweop.com/set.php (попробуйте использовать инкогнито, чтобы облегчить удаление файлов cookie)
<?php setcookie("testcookie","testvalue",time()+60*60*24*30,"/","qweop.com");?>
cookies set
http://sd.qweop.com/read.php
<?php print_r($_COOKIE); ?>
// No one had set any cookies in http://sd.qweop.com but we can see cookies here! Error!
Ответ: Да
Мне лучше каталогизировать ответ после 500 часов исследований в Google.
По сути, мы всегда должны использовать www, если мы планируем использовать любые другие поддомены и хотим, чтобы они не содержали cookie. Это связано с тем, что в отношении файлов cookie верхнего уровня используются разные варианты поведения браузера .
Мы можем изо всех сил сказать браузеру «Эй, он настроен только на домен, а не на его субдомены», но пока URL-адрес не-www, они не будут хорошими и будут вести себя так, как мы хочу их.
На самом деле, даже если URL не не-www, они все равно могут делать все, что они захотят , в настоящее время нет записей ни о каком браузере, который делает это (и, скорее всего, так же и в будущее).