Лекция посвящена изучению вопросов обеспечения безопасности в сети и
использованию для этих целей механизма сессий. Рассматриваются:
инициализация сессий, передача идентификатора пользователя,
регистрация переменных сессии, уничтожение сессии. В завершение приводится пример авторизации пользователя с
помощью механизма сессий
Сервер — набор программ, которые контролируют выполнение различных процессов Сервер — Может обрабатывать большое количество сессий одновременно, и все их временные файлы будут храниться в директории, заданной параметром session.save_path
Cессии — Это механизм, который позволяет создавать и использовать переменные, сохраняющие свое значение в течение всего времени работы пользователя с сайтом
Сервер Может обрабатывать большое количество сессий одновременно, и все их временные файлы будут храниться в директории, заданной параметром session.save_path
Имя сессии — Это имя параметра, в котором хранится идентификатор сессии Имя сессии — Задается с помощью функции session_name() либо используется значение из session.name php.ini
С помощью параметров командной строки. В этом случае идентификатор сессии автоматически встраивается во все запросы (URL), передаваемые серверу, и хранится на стороне сервера
session.cookie_lifetime — Задает длительность жизни cookies в секундах session.cookie_lifetime — По умолчанию это "0", т.е. данные в cookies считаются правильными до закрытия окна браузера
session.name — Определяет имя сессии по умолчанию session.name — Используется в cookies как имя переменной, в которой хранится идентификатор сессии session.name — По умолчанию устанавливается как PHPSESSID
session_destroy() — Уничтожает текущую сессию целиком session_destroy() — Не сбрасывает значения глобальных переменных сессии и не удаляет cookies, а уничтожает все данные, ассоциируемые с текущей сессией
Регистрация переменных сессии — Не рекомендуется одновременно использовать оба метода: $_SЕSSION и session_register() Регистрируются не значения, а имена переменных.
Доступ к переменным сессии — Осуществляется с помощью массива $_SЕSSION['имя_переменной']
Доступ к переменным сессии — Если в настройках php включена опция register_globals, то обращаться можно, как к обычным переменным, например так: $имя_переменной
session_name() — Задает имя сессии session_name() — Без параметров возвращает имя текущей сессии session_name() — Вызывать следует еще до инициализации сессии session_name() — Синтаксис:
session.save_path — Определяет, где на сервере будут храниться данные сессии
Сервер Может обрабатывать большое количество сессий одновременно, и все их временные файлы будут храниться в директории, заданной параметром session.save_path Из-за него чаще всего возникают проблемы для Windows-серверов, потому что по умолчанию значение установлено в /tmp. И если в корневой директории сервера такой папки нет, то при запуске сессий будет выдаваться ошибка .
session_start() — Начинает сессию session_start() — Получив такую команду, сервер создает новую сессию или восстанавливает текущую, основываясь на идентификаторе сессии, переданном по запросу
session_start() — Эту команду нужно вызывать во всех скриптах, в которых предстоит использовать переменные сессии, причем до вывода каких-либо данных в браузер