![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: нет Всего: 144 |
Допустим, у меня есть вебсайт, mysite.com
Когда юзеры заходят, я создаю у них кукисы, чтобы значить, было видно, кто есть ху. Беда, однако, в том, что некоторые посетители попадают на сайт по адресу www.mysite.com. Это мне активно не нравится, потому что возникает проблема: если потом этот же человек заходит (например, по другой ссылке) по правильному адрему, без www, то ранее установленные кукисы оказываются бесполезными. Отсюда вопрос к знатокам: какие существуют стратегии борьбы с данным злом? То есть вопрос не в технической реализации, а именно в стратегии: какая лучше и в чем могут быть подводные грабли. Я вообще не знал об этой проблеме, пока не обнаружил из логов, что иногда имеет место быть такой сценарий: юзер делает пост, сервлет обрабатывает данные из формы и делает sendRedirect(nextpage). А по незнанию nextpage у меня был не в виде URL, а в виде путя от корня. А браузер, оказывается, пытается восполнить недостающие элементы путем добавления http://www.mysite.com. Я тогда стал при формировании адреса для перенаправления в явном виде приписывать http://mysite.com, но тогда люди, изначально попавшие через www, стали терять куки. И что делать? Мне видятся два принципиальных подхода:
Второй более лоялен к пользователю, но усложняет логику, и впоследствии может вылезти боком. Какие у кого будут мнения? |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: нет Всего: 144 |
Просьба к модераторам:
Ввиду отсутствия реакции на пост в течение длительного времени, и поскольку в выставлении кук нет ничего особенно сервлет-специфического, прошу переместить данную тему в форум PHP, поскольку там обитает больше людей, непосредственно вовлеченных в веб-программирование. Спасибо. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: нет Всего: 151 |
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: нет Всего: 144 |
Я знаю, но он какой-то совсем вялый. Поэтому прошу перенести именно в PHP. Впрочем, на усмотрение модераторов. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Stampede, понял вопрос. Есть несколько способов (очевидных для меня):
1 - Устанавливать кукисы для разных доменов. Можно к примеру создать функция которая будет устанавливать переданные ей значения сразу на все домены. 2 - Редиректить с www.example.com на example.com, или наоборот - зависит от предпочтений (я бы предпочел с example.com на www.example.com). Пока вроде других решений в голову не приходит. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 3 Всего: 55 |
Бегом читать ман:
http://ee.php.net/setcookie bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] ) Пример 1. setcookie() send example
Добавлено @ 19:47 IZ@TOP всё проще |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Opr, я догадывался ^)
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Stampede |
|
||||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: нет Всего: 144 |
Да, действительно, все оказалось гораздо проще Меня в свое время сбило с толку то, что при явном указании домена неочевидно, что действие куки будет распространяться и на поддомены. Так же как не явствует это из RFC 2109 (особенно если не знать правил, по которым согласно спецификации осуществляется сопоставление доменных имен):
Ну все, теперь надеюсь побороть IZ@TOP, будь добр, как модератор влепи товарищу плюса от моего имени, а то мне пока статуса не хватвет |
||||
|
|||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: нет Всего: 151 |
Я влеплю - мне тоже интересно было
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 4 Всего: 32 |
Было что-то на тему domain.com и .domain.com, второе устанавливает для всех субдоменов домена domain.com
А вот насчет установки вообще для всех существующих в инете доменов? Кто-нить сталкивался с ситуациями типа установки кукисов например для всех .com ? -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
На сколько я помню, таая фишка тоже не везде работает.
Этого быть не может, иначе бы я легко переписал бы куки, или считал бы не то, что надо. |
||||
|
|||||
| Natasha |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 8.8.2006 Репутация: нет Всего: нет |
Это я в мануале читала, но видимо не очень поняла
А как быть с именами .ru? например www.имя_сайта.ru и имя_сайта.ru |
||||||
|
|||||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: нет Всего: 6 |
Сталкивался с сесиями на несколько собственных доменов, а точнее
mydomain.com и mydomain.org правда для этого пришлось свой механизм сесий. Но так чтобы куки были видны незя... -------------------- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |