Когда люди говорят о субдомене, они имеют в виду виртуальные хосты с похожими именами или сопоставления mod_rewrite?

Я пытаюсь установить файл cookie для использования на разных виртуальных хостах. Что-то подобное задавали несколько раз здесь:

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

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

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

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

вход через поддомен с помощью файлов cookie

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

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

<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

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


person puk    schedule 17.03.2012    source источник


Ответы (1)


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

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

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

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

person Matthew Flaschen    schedule 17.03.2012