Разница между http://example.com и http://www.example.com? - PullRequest
2 голосов
/ 10 сентября 2009

Для сессий и файлов cookie существует разница между example.com и www.example.com?

У меня очень странная проблема с нашим веб-приложением

Приватная сеть: private.example.com Общедоступная сеть: example.com

По некоторым причинам вне моего контроля www.example.com всегда перенаправляется на example.com Я предполагаю, что это настройка на сервере.

Проблема в том, что когда я захожу в консоль администратора, открываю новую вкладку и запрашиваю общедоступный сайт, сеанс входа в систему теряется.

Это происходит только в IE 7

После некоторых копаний я нашел этот сайт:

http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx

См. Q3

Может ли быть так, что сеанс, установленный в admin (private.example.com), удаляется при доступе к общедоступному сайту? Так как сервер перенаправляет меня на example.com?

Я думаю, что мы не указываем часть домена при настройке cookie (Java)

Как я уже сказал, это происходит только с XP SP3 и IE7

Любой, кто может мне помочь или исправить мое понимание IE.

Ответы [ 4 ]

1 голос
/ 10 сентября 2009

При создании файлы cookie всегда устанавливаются на поддомен, а не на сам домен. Вам нужно будет специально настроить cookie, чтобы он указывал на example.com при его создании. У нас была такая же проблема с файлами cookie для входа в систему admin.example.com и sellerr.example.com.

1 голос
/ 10 сентября 2009

Да, файлы cookie зависят от домена и даже поддомена. Так что это проблема. Ради согласованности я бы попытался найти способ сохранить его в том же поддомене.

Вы сказали, что перенаправление с www.yourdomain.com на yourdomain.com находится вне вашего контроля. Это потому что у вас нет доступа к серверу? Если это так, вы можете атаковать его под другим углом. Вместо того чтобы предотвращать перенаправление, вы можете установить глобальное правило перенаправления 301, чтобы каждый пользователь, который заходит на www.yourdomain.com, был мгновенно перенаправлен на yourdomain.com (вроде StackOverflow.com). Таким образом, он остается неизменным на каждой странице сайта.

Есть много разных способов сделать это. Но если случайно вы используете .NET, посмотрите мой ответ на этот вопрос: Настройка HTTP Redirect для SEO в IIS7

Это решение для чистого кода .NET, которое не требует дополнительных модулей, поэтому оно будет работать, даже если у вас нет доступа к серверу. На самом деле этот ответ относится к обратному сценарию (не с www на www), но его можно легко изменить для этой задачи.

0 голосов
/ 10 сентября 2009

Домены и субдомены не зависят друг от друга, когда дело касается куки. Я бы проверил ваши DNS-записи, чтобы увидеть, куда на самом деле указывают ваши A-записи, а затем посмотрел на ваш веб-сервер, чтобы увидеть, как интерпретируются субдомены. Иногда серверы настроены на обработку поддоменов как перенаправлений URL-адресов, особенно в крупных размещенных решениях.

Возможно, вы также захотите проверить, задан ли Java-эквивалент свойства ASP «Response.Cookies (« UID »). Domain» где-то вдоль линии.

0 голосов
/ 10 сентября 2009

Если вы установили cookie для example.com, он должен быть отправлен на www.example.com и private.example.com, но если вы установили cookie для private.example.com, его не следует отправлять на example.com , Некоторые сайты устанавливают все свои куки-файлы на www.example.com и подают статический контент из static.example.com или другого домена, чтобы куки-файлы не отправлялись без необходимости вместе с запросами на статический контент.

См. Также http://developer.yahoo.com/performance/rules.html#cookie_free

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...