sessions — Блог Валерия Леонтьева https://valera.ws Место публикации личных заметок. Технологии, управление, бизнес, жизнь Sun, 02 Feb 2014 12:11:19 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.6.2 https://valera.ws/wp-content/uploads/2020/02/favicon.png sessions — Блог Валерия Леонтьева https://valera.ws 32 32 Архитектура веб приложений: экстерьер (видео-лекция) https://valera.ws/2014.01.18~web-applications-architecture-exterio/ https://valera.ws/2014.01.18~web-applications-architecture-exterio/#respond Sat, 18 Jan 2014 17:34:57 +0000 http://valera.ws/?p=730 Читать далее Архитектура веб приложений: экстерьер (видео-лекция) ]]> Архитектура веб-приложений: экстерьерРассказ о популярной универсальной архитектуре стека, в котором работает веб-приложение. Само приложение может быть написано на любом интерпретируемом языке с использованием любого фреймворка фреймворков. В данном случае это не важно, так как архитектура программной инфраструктуры — технологического стека, в котором оно работает, отличается мало.

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

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

Смотрите в полноэкранном режиме.

]]>
https://valera.ws/2014.01.18~web-applications-architecture-exterio/feed/ 0
Исчезновение сессии. Пропадают куки. https://valera.ws/2008.01.09~cookies/ Wed, 09 Jan 2008 15:51:35 +0000 http://valera.ws/2008.01.09~cookies/ Читать далее Исчезновение сессии. Пропадают куки. ]]> PHP-скриптЕсли вы еще не сталкивались с такими проблемами, то, думаю, столкнетесь в будущем. А самое неприятное в этом то, что определить и выловить такую проблему очень сложно.

Итак, симптомы. При серфинге по сайту пропадает сессия. Человек, установивший флажок «запомнить мой логин в куках», при серфинге по сайту вдруг оказываемся  разлогиненым. Вдруг пропадают установленные ранее куки.

Я очень долго пытался понять в чем проблема. Самое сложное в дебаге то, что получить акт уничтожения кука сложно, надо долго серфить по сайту и изучать содержимое $_COOKIES. Короче, на вылов проблемы потратил кучу времени.

А результат поиска как обычно оказался банально прост. Дело в том, что в браузере ограничено количество куков на один домен. Когда лимит исчерпан, старые куки затираются при установке новых. Так же важно, что если не указать путь для кука явно, он будет равен текущему каталогу. Таким образом, если сайт содержит много разных каталогов в URL, установка кука в минимальном варианте (имя=значение) для каждого каталога даст отдельную куку. При этом, в $_COOKIES это, естественно, не заметно, а видно только в менеджере куков браузера.

Когда таки понимаешь, в чем проблема, начинаешь искать, кто же устроил куко-флуд. И что выясняется? Конечно внешние системы статистики. Коды счетчиков, написанные несколько лет назад не учитывают возможности mod_rewrite и длинной каталожной структуры URL. Там спокойно используется код document.cookie=”c=1”;, который и создает кук для текущего каталога. А надо просто на писать document.cookie=”c=1;path=/”; — и все будет ОК.

Так что будьте уверены — несистемное исчезновение куков и потери сессий (так как SID обычно хранится в куках) — явный признак наличия на сайте неправильной или излишней установки cookies.

P.S. Работы с куками из JS:

]]>