Когда люди говорят «поддомен», они имеют в виду VHosts с похожими именами или отображения mod_rewrite? - PullRequest
0 голосов
/ 17 марта 2012

Я пытаюсь установить cookie для использования на разных виртуальных хостах.Нечто похожее на это было задано несколько раз здесь:

Файлы cookie в поддомене не работают

как получить доступ к файлам cookie на поддомене

Файлы cookie и субдомен

Настройка файлов cookie для домена / субдомена

кросс-субдомен входа с файлами cookie

Файлы cookie и субдомены

Все они упоминают «субдомен», но никто не описывает, что это такое.Если у меня есть 2 Apache VHosts, например:

<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/
...
</VirtualHost>

<VirtualHost *:80>
ServerName home.example.com
DocumentRoot /var/www/home/
...
</VirtualHost>

Если я войду в систему на сайте example.com и установлю - и обязательно произнесу следующее слово глубоким голосом cookie:вот так

setcookie( 'id', '1234', time()+24*3600, '/', '.example.com' );

Могу ли я получить id на home.example.com примерно так:

RewriteCond %{HTTP_COOKIE} \bid=[0-9]+\b

Или эти междоменные куки работают только тогда, когда субдомены полностью настроеныв пределах одного виртуального хоста (предположительно с mod_rewrite)

1 Ответ

1 голос
/ 17 марта 2012

Он полностью основан на доменном имени.Проверка того же источника не заботится о базовом IP.

home.example.com может быть:

  1. То же, что example.com
  2. Другой
  3. Ваш локальный ящик
  4. Субдомен, созданный злоумышленником с использованием подделки DNS.

Это не имеет значения.Это все еще поддомен.

...