| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Cookies в поддомене www |
| Автор: Stampede 12.5.2005, 19:54 |
| Допустим, у меня есть вебсайт, mysite.com Когда юзеры заходят, я создаю у них кукисы, чтобы значить, было видно, кто есть ху. Беда, однако, в том, что некоторые посетители попадают на сайт по адресу www.mysite.com. Это мне активно не нравится, потому что возникает проблема: если потом этот же человек заходит (например, по другой ссылке) по правильному адрему, без www, то ранее установленные кукисы оказываются бесполезными. Отсюда вопрос к знатокам: какие существуют стратегии борьбы с данным злом? То есть вопрос не в технической реализации, а именно в стратегии: какая лучше и в чем могут быть подводные грабли. Я вообще не знал об этой проблеме, пока не обнаружил из логов, что иногда имеет место быть такой сценарий: юзер делает пост, сервлет обрабатывает данные из формы и делает sendRedirect(nextpage). А по незнанию nextpage у меня был не в виде URL, а в виде путя от корня. А браузер, оказывается, пытается восполнить недостающие элементы путем добавления http://www.mysite.com. Я тогда стал при формировании адреса для перенаправления в явном виде приписывать http://mysite.com, но тогда люди, изначально попавшие через www, стали терять куки. И что делать? Мне видятся два принципиальных подхода:
Второй более лоялен к пользователю, но усложняет логику, и впоследствии может вылезти боком. Какие у кого будут мнения? |
| Автор: Stampede 18.5.2005, 18:15 |
| Просьба к модераторам: Ввиду отсутствия реакции на пост в течение длительного времени, и поскольку в выставлении кук нет ничего особенно сервлет-специфического, прошу переместить данную тему в форум PHP, поскольку там обитает больше людей, непосредственно вовлеченных в веб-программирование. Спасибо. |
| Автор: batigoal 18.5.2005, 18:19 |
| Есть специальный раздел по веб-технологиям: http://forum.vingrad.ru/index.php?showforum=18 |
| Автор: Stampede 18.5.2005, 18:23 | ||
Я знаю, но он какой-то совсем вялый. Поэтому прошу перенести именно в PHP. Впрочем, на усмотрение модераторов. |
| Автор: IZ@TOP 18.5.2005, 19:46 |
| Stampede, понял вопрос. Есть несколько способов (очевидных для меня): 1 - Устанавливать кукисы для разных доменов. Можно к примеру создать функция которая будет устанавливать переданные ей значения сразу на все домены. 2 - Редиректить с www.example.com на example.com, или наоборот - зависит от предпочтений (я бы предпочел с example.com на www.example.com). Пока вроде других решений в голову не приходит. |
| Автор: Opik 18.5.2005, 19:47 | ||
| Бегом читать ман: 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 18.5.2005, 20:36 |
| Opr, я догадывался ^) |
| Автор: Stampede 18.5.2005, 20:47 | ||||
Да, действительно, все оказалось гораздо проще Меня в свое время сбило с толку то, что при явном указании домена неочевидно, что действие куки будет распространяться и на поддомены. Так же как не явствует это из RFC 2109 (особенно если не знать правил, по которым согласно спецификации осуществляется сопоставление доменных имен):
Ну все, теперь надеюсь побороть IZ@TOP, будь добр, как модератор влепи товарищу плюса от моего имени, а то мне пока статуса не хватвет |
| Автор: batigoal 18.5.2005, 20:57 |
| Я влеплю - мне тоже интересно было |
| Автор: MuToGeN 30.5.2005, 15:34 |
| Было что-то на тему domain.com и .domain.com, второе устанавливает для всех субдоменов домена domain.com А вот насчет установки вообще для всех существующих в инете доменов? Кто-нить сталкивался с ситуациями типа установки кукисов например для всех .com ? |
| Автор: Mal Hack 30.5.2005, 16:40 | ||||
На сколько я помню, таая фишка тоже не везде работает.
Этого быть не может, иначе бы я легко переписал бы куки, или считал бы не то, что надо. |
| Автор: Natasha 8.8.2006, 16:54 | ||||||
Это я в мануале читала, но видимо не очень поняла
А как быть с именами .ru? например www.имя_сайта.ru и имя_сайта.ru |
| Автор: rMaveric 10.8.2006, 22:27 |
| Сталкивался с сесиями на несколько собственных доменов, а точнее mydomain.com и mydomain.org правда для этого пришлось свой механизм сесий. Но так чтобы куки были видны незя... |