Дело о пропавшей сессии
От: Gollum Россия  
Дата: 27.10.09 18:11
Оценка: 11 (5)
#Имя: FAQ.asp.net.session.lost
Сегодня был выловлен совершенно эпический баг. Симптомы вкратце – в веб-приложении пропадала сессия. При этом, если на сервак заходить по айпишнику, все работало. В дело пошли фиддлер, лучшие умы и руки

После третьего часа поисков, решили сделать перерывчик и спокойно подумать. И в процессе обдумывания, вот что попалось на глаза:

http://weblogs.asp.net/bleroy/archive/2004/08/03/Don_2700_t-redirect-after-setting-a-Session-variable-_2800_or-do-it-right_2900_.aspx

Цитирую феерический абзац:

UPDATE 2: Another thing that can cause similar problems is if your server has a name that contains underscores. Underscores are not allowed in host names by RFC 952 and may interfere with the ability to set cookies and thus to persist sessions.

Подчеркивание из имени сервера убрали

P.S. Не используйте сессию в ваших веб-приложениях. Считайте это best practice
Eugene Agafonov on the .NET

пропадает сессия сессия session
Re: Дело о пропавшей сессии
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.10.09 04:18
Оценка: 12 (1)
Здравствуйте, Gollum, Вы писали:

G>Сегодня был выловлен совершенно эпический баг. Симптомы вкратце – в веб-приложении пропадала сессия. При этом, если на сервак заходить по айпишнику, все работало. В дело пошли фиддлер, лучшие умы и руки

Похоже, на эту граблю наступали все.
У нас в своё время ушло какое-то чудовищное время на скрупулёзное исследование отличий тестового и боевого серверов.
Лично я считаю это багом IE: надо либо совсем не поддерживать подчерки, либо поддерживать их до конца. А так у них работает всё, кроме кук. Причём кука вроде как принимается, но потом тупо не отдаётся в запросе.
Кстати, чтоб два раза не вставать: если кука устанавливается не основной страницей, т.е. фреймом, картинкой, джаваскриптом, css, или ещё чем, то IE будет её тово — выбрасывать. Если для неё не задана P3P-policy. Обычно на это напарываются те, кто пытается открыть приложение B во фреймсете, внутри страницы A. Оказывается, что логин, выполненный во фрейме, не срабатывает.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Дело о пропавшей сессии
От: User239 Россия  
Дата: 27.10.09 20:02
Оценка: +1
Здравствуйте, Gollum, Вы писали:

G>P.S. Не используйте сессию в ваших веб-приложениях. Считайте это best practice


Может тогда уж не использовать подчёркивания?
Re: Дело о пропавшей сессии
От: rameel https://github.com/rsdn/CodeJam
Дата: 27.10.09 19:50
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Подчеркивание из имени сервера убрали


Хотел было написать что не слишком давно этот вопрос поднимался, но поискав, нашел что вопрос задавался достаточно давно

http://rsdn.ru/forum/dotnet.web/2982642.1.aspx
Автор: Sinclair
Дата: 10.06.08


Тогда я это сообщение принял к вниманию, но тут же благополучно забыл потому как некоторое время спустя тестировал сайт в локалке с подчеркиванием в hostname, и недоумевал почему это IE теряет куку

Потом только после долгих мучений и танцов с бубном вспомнил про подчеркивание.

ЗЫ. Хорошо бы в FAQ
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>>
Re[2]: Дело о пропавшей сессии
От: Gollum Россия  
Дата: 27.10.09 19:56
Оценка:
Здравствуйте, rameel, Вы писали:

R>Хотел было написать что не слишком давно этот вопрос поднимался, но поискав, нашел что вопрос задавался достаточно давно

R>http://rsdn.ru/forum/dotnet.web/2982642.1.aspx
Автор: Sinclair
Дата: 10.06.08


Вот обидно Я не читал. Спасло бы столько времени....

R>Потом только после долгих мучений и танцов с бубном вспомнил про подчеркивание.

R>ЗЫ. Хорошо бы в FAQ

Только вспомню как это делается ) и занесу
Eugene Agafonov on the .NET

Re[2]: Дело о пропавшей сессии
От: Gollum Россия  
Дата: 28.10.09 12:19
Оценка:
Здравствуйте, User239, Вы писали:

G>>P.S. Не используйте сессию в ваших веб-приложениях. Считайте это best practice


U>Может тогда уж не использовать подчёркивания?


На моей памяти с сессией постоянно были связаны совершенно разнообразные глюки. Проще сразу не использовать, чем потом вылавливать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1082>>
Eugene Agafonov on the .NET

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.