Пример использования CGI::Application::Plugin::Session. Хранение сессии в файлах

CGI::Application поразил меня в очередной раз. Реализация работы с сессиями через CGI::Application::Plugin::Session потрясающе удобна и порождает элегантный код.


Описание задачи

Была поставлена задача создать пример использования CGI::Application::Plugin::Session. Пример «чистой» сессии, без авторизаций, аутентификаций и пр.

Примеры кода

Скрипт cgi

Модуль pm

Шаблон tt

Результаты работы

После обращения клиента создается простая сессия. Клиент может указать какие-то данные (в данном случае, это его адрес, а могли бы быть персональные данные, или содержимое корзины товаров), которые будут привязаны к сессии и сохраняться до ее окончания.

Если клиент указал свои данные, они будут отображаться ему при каждом посещении страницы, пока он

  • не завершит сессию принудительно,
  • срок действия сессии не иссякнет автоматически.

Данные сессии хранятся в текстовом файле.

Файл сессии

По адресу /dev-lab/tmp автоматически создается файл сессии.

Например, cgisess_cd6170af135c6668eb0e007d12d3e923:

Каждой сессии соответствует свой собственный файл.

Cookies

Браузер сохраняет для себя cookies, с номером сессии, датой ее окончания и т.п.

cookies при использовании CGI::Application::Plugin::Session

Полезные ссылки


http://search.cpan.org/~markstos/CGI-Session-4.42/lib/CGI/Session.pm
perlmonks.org.ru: Модуль CGI::Session