русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Идентификатор сессии, использование механизма сессии


Дата добавления: 2015-07-09; просмотров: 772; Нарушение авторских прав


Для передачи идентификатора сессии со стороны клиента используется два способа:

· Передача идентификатора сессии непосредственно в строке адреса (например, так: http://127.0.0.1/ex7.php?PHPSESSID=af65756756fghgfuyiu890tyi0iu7780);

· Передача идентификатора сессии с использованием механизма cookies.

Механизм cookies поддерживается браузером для хранения клиентских переменных в файлах на стороне клиента. Механизм cookies является расширением протокола HTTP и более привлекателен с точки зрения обеспечения безопасности, чем прямая передача имени сессии в строке адреса. Минус данного механизма – cookies по умолчанию отключены в большинстве браузеров, что может потребовать от пользователя дополнительных действий по настройке браузера.

Для использования механизма сессий применяются следующие функции:

Наименование функции Назначение функции и возвращаемое значение Параметры
session_start Начать новую сессию или восстановить уже существующую. Уже существующая сессия восстанавливается, если соответствующий параметр передан от клиента, не истек тайм-аут и т.п. – PHP сам определяет, когда нужно создать новую сессию, а когда восстановить уже существующую. Функция возвращает пустое значение. Вызова session_start можно избежать, если в php.ini параметр: session.auto_start=1 Нет.
session_id Получить идентификатор сессии. Функция возвращает идентификатор сессии Нет.
session_register Зарегистрировать имя сессионной переменной. Переменное число параметров. Каждый параметр задает имя переменной, которую мы хотим зарегистрировать.
session_unregister Удалить сессионную переменную. Имя удаляемой переменной.
isset Проверить, не равно ли значение переменной NULL. Возвращает true, если значение не равно NULL, в противном случае false. Нам эта функция нужна для проверки существования сессионной переменной. Переменная.

 



Зарегистрированные session_register переменные доступны через массив $_SESSION. Для доступа к переменной в качестве ключа в массиве $_SESSION нужно указать имя переменной. Присваивание значений переменным также выполняется через массив $_SESSION. В современных версиях PHP не рекомендуется использование функции session_register – новая сессионная переменная появляется при присваивании элементу массива $_SESSION значения (если переменной с таким именем ранее не было создано, то будет добавлен новый элемент массива). Удаление переменной выполняется также, как и обычно для элемента массива, т.е. путем вызова функции unset.

Для управления сессиями в php.ini могут быть установлены следующие дополнительные параметры:

Наименование параметра Назначение
session.use_cookies Если равен 1, то включена работа с cookies. По умолчанию параметр равен 1.
session.cookie_lifetime Задает время жизни переменных, переданных через cookies в секундах, фактически, при использовании механизма cookies, задает максимальное время существования сессии. По умолчанию этот параметр равен 0, т.е. переменные будут недействительны только после завершения работы клиентского ПО.
session.name Имя переменной, в которой хранится идентификатор сессии. По умолчанию параметр равен PHPSESSID.
session.cache_expire Переменные сессии устаревают через указанное в параметре число минут. По умолчанию параметр равен 180.

 

Пример работы с сессиями

Пример:

<?php
session_start();
if( !isset( $_SESSION[ "NEW_SESS_FLAG" ] ) )
{
/*
считаем, что новая сессия, поскольку переменная NEW_SESS_FLAG
не была инициализирована, а по ней мы хотим проверять
новая сессия или нет
при первом входе, хотим например, ввести имя пользователя и пароль
формируем страницу с формой ввода имени пользователя и пароля
*/
include "login.html";

session_register( "NEW_SESS_FLAG" );

// регистрируем переменную
// далее будем ждать имя пользователя и пароль
_SESSION["NEW_SESS_FLAG"] = 1;
}
else
{
if(_SESSION[ "NEW_SESS_FLAG"] == 1 )
{
// вводили имя и пароль проверяем пароль и имя пользователя
include "autorize.php";

if( !$good_login )
{
// не те имя и пароль, либо нет параметров с именем и паролем
// говорим, что пароль не правильный
include "bad_passw.html";

// удаляем переменную, следующий запрос будет
// восприниматься нами как новая сессия
session_unregister( "NEW_SESS_FLAG" );
}
else
{
_SESSION[ "NEW_SESS_FLAG" ] = 2;
}
}

if(_SESSION[ "NEW_SESS_FLAG"] == 2 )
{
// работаем, понятно с каким пользователем
;
}
}
?>

 



<== предыдущая лекция | следующая лекция ==>
Взаимодействие между клиентом и сервером | Классы и объекты в PHP


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.679 сек.