WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Сеанс работы пользователя

Сеанс работы пользователя


Дата публикации: 31-03-2008

Библиотека PHPLib предоставляет возможности, по меньшей мере, не уступающие возможностям встроенной библиотеки управления сеансами PHP. Даже имена функций в этих библиотеках часто совпадают. Но хотя во многих отношениях механизмы встроенного управления сеансами PHP и библиотеки PHPLib похожи, есть и различия. Одной из полезных дополнительных возможностей библиотеки PHPLib является режим автоматического переключения методов повторной генерации идентификатора сеанса, который рассматривается в следующем разделе.

 

Запасной режим повторной генерации идентификатора сеанса

 

По умолчанию все средства управления сеансами работают через файлы персональных Интернет-настроек (cookies). Как подчеркивалось в главе 4, этот метод является предпочтительным (если он поддерживается клиентом); кроме того, это самый простой способ повторной генерации идентификатора сеанса. Но вы можете вместо него использовать методику, основанную на запросах GET/POST, изменив значение всего одной переменной - $mode. Переменная $mode определяет метод, который следует использовать в качестве основного метода повторной генерации идентификатора сеанса. Эта переменная может принимать значения cookie (установленное по умолчанию) и get.

Библиотека PHPLib обеспечивает автоматический переход к запасному методу повторной генерации идентификатора сеанса в ходе выполнения сценария. Если значение переменной $fallback_mode установлено равным get, а режим, заданный переменной $mode (обычно это cookie), не поддерживается клиентом, то будет использоваться метод GET/POST. Наилучшим вариантом является установка значения переменной $mode равным cookie, а переменной $fallback_mode - равным get. В этом случае библиотека PHPLib попытается использовать методику на основе персональных настроек, но если это не удастся, она перейдет в запасной режим GET/POST. Библиотека PHPLib проверяет, поддерживается ли на клиентском компьютере механизм персональных настроек, следующим образом.

  1. При первом запросе к странице, поддерживаемой библиотекой PHPLib, библиотека пытается создать файл персональных настроек сеанса, одноименный с соответствующим экземпляром класса Session.

  2. Затем она повторно отправляет пользователя на ту же страницу, добавляя в качестве строки запроса идентификатор сеанса:

    header("Location: ".$PROTOCOL. "://" .HTTP_HOST.$this->self_url());

  3. Библиотека PHPLib проверяет, существует ли данный идентификатор сеанса в массиве $HTTP_COOKIE_VARS. Если да, то сеанс проходит в режиме cookie. В противном случае сеанс переключается в режим get.

 

 

 

 Низкого качества покрытия металлических поверхностей могут привести к их преждевременной коррозии. Поэтому для контроля качества, нанесенного на поверхность металла защитного слоя, используют толщиномер покрытий. Подобные современные приборы позволяют определить толщину слоя покрытия, не нарушая его целостности. Эти приборы используются достаточно широко в судостроительной, автомобильной промышленности.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)
Октябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Linus Torvalds:

    "Болтовня ничего не стоит. Покажите мне код."

    Опрос

    Какой аудио плеер Вы используете?

    Winamp
    Light Alloy
    foobar2000
    Apollo
    AIMP
    1by1
    iTunes
    jetAudio
    Другой...