Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
17 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
155.71 kB
Просмотров:
44
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Сессии Лекция](/documents_6/b9f99c98f33da1da74a781217469b642/img0.jpg)
Содержание слайда: Сессии
Лекция 6
№2 слайд![Определение сессии Web-сессия](/documents_6/b9f99c98f33da1da74a781217469b642/img1.jpg)
Содержание слайда: Определение сессии
Web-сессия – специальный ключ (идентификатор сессии), хранящийся клиентской программой и сопоставляемый с пользовательскими данными на стороне сервера.
Сессии предназначены для хранения и передачи данных отдельного пользователя между динамическими страницами одного ресурса.
№3 слайд![Причины появления сессий](/documents_6/b9f99c98f33da1da74a781217469b642/img2.jpg)
Содержание слайда: Причины появления сессий
Web-сервер каждый раз при обращении к очередной странице инициализирует новую HTTP-транзакцию без возможности связывания старых данных пользователя с вызовом новой динамической страницы.
№4 слайд![Способы хранения ключа сессии](/documents_6/b9f99c98f33da1da74a781217469b642/img3.jpg)
Содержание слайда: Способы хранения ключа сессии на стороне клиента
Ключ (идентификатор сессии) на стороне клиента может храниться двумя способами:
В HTTP-Cookie (относительно безопасно)
Как часть URL (небезопасно)
№5 слайд![Хранение сессии на стороне](/documents_6/b9f99c98f33da1da74a781217469b642/img4.jpg)
Содержание слайда: Хранение сессии на стороне сервера
Способы хранения данных внутри сессии никак не регламентируются и могут быть представлены различными способами: в структурных файлах сервера, в БД различного типа и т.д.
Данные сессии хранятся на сервере в виде массива.
№6 слайд![Использование сессий Сессии](/documents_6/b9f99c98f33da1da74a781217469b642/img5.jpg)
Содержание слайда: Использование сессий
Сессии могут использоваться для тех же целей, что и HTTP Cookie, но с сохранением данных на стороне сервера.
С помощью сессий также реализуются следующий функционал:
Подтверждение авторизации пользователя на сайте
Хранение временных данных, вводимых из нескольких форм
Корзина в интернет-магазине
Хранение символьного значения картинки из CAPTCHA
№7 слайд![Механизм работы сессий Ключ](/documents_6/b9f99c98f33da1da74a781217469b642/img6.jpg)
Содержание слайда: Механизм работы сессий
Ключ считывается с сервера либо из строки URL, либо из Cookie
На этапе проверки ключа проверяется, существуют ли данные на сервере, сопоставляемые с этим ключом.
Ключ генерируются таким образом, чтобы исключить возможность его подмены.
№8 слайд![Сессии в PHP Ключ PHP-сессии,](/documents_6/b9f99c98f33da1da74a781217469b642/img7.jpg)
Содержание слайда: Сессии в PHP
Ключ PHP-сессии, сохраняемый в Cookie, именуется по-умолчанию PHPSESSID.
Значения сессии хранятся в суперглобальном массиве $_SESSION
№9 слайд![Сохранение данных сессии](/documents_6/b9f99c98f33da1da74a781217469b642/img8.jpg)
Содержание слайда: Сохранение данных сессии
session_start(); /* инициализация механизма работы сессии */
$_SESSION["user"] = "pavel"; /* Сохранение переменной сессии "user" со значением "pavel" */
if(isset($_SESSION["user"]) && !empty($_SESSION["user"]))
{
print "Пользователь авторизован";
}
else
{
print "Требуется авторизация";
}
№10 слайд![Удаление данных сессии Для](/documents_6/b9f99c98f33da1da74a781217469b642/img9.jpg)
Содержание слайда: Удаление данных сессии
Для того, чтобы удалить переменную сессии, достаточно опустошить индекс ассоциативного суперглобального массива $_SESSION:
unset($_SESSION["items"]);
// Пользователь удалил все товары из корзины покупок
№11 слайд![Удаление всей сессии Для](/documents_6/b9f99c98f33da1da74a781217469b642/img10.jpg)
Содержание слайда: Удаление всей сессии
Для того, чтобы удалить полностью текущую сессию пользователя, можно вызвать функцию session_destroy():
session_destroy();
// Пользователь нажал кнопку "Выход", а значит более он не авторизован
№12 слайд![Функции работы с](/documents_6/b9f99c98f33da1da74a781217469b642/img11.jpg)
Содержание слайда: Функции работы с идентификатором и его именем
Функция, возвращающая текущий идентификатор сессии:
string session_id ([ string $id ] )
Функция, возвращающая или устанавливающая (если указана переменная $name) имя переменной Cookie для идентификатора сессии:
string session_name ([ string $name ] )
№13 слайд![Безопасность сессии Узнав](/documents_6/b9f99c98f33da1da74a781217469b642/img12.jpg)
Содержание слайда: Безопасность сессии
Узнав идентификатор сессии, злоумышленник может получить доступ к учётной записи другого пользователя. Способы получения идентификатора:
Перехватка GET-запроса через HTTP-заголовок Http-Referer на сайте, на который осуществлён переход (в том случае, если сессия хранится как часть URL)
Перехватка Cookies путём внедрения JavaScript-кода на одну из страниц сайта через XSS уязвимость ресурса или дополнительные привилегии администратора
Прослушивание HTTP-трафика
№14 слайд![Безопасность сессии](/documents_6/b9f99c98f33da1da74a781217469b642/img13.jpg)
Содержание слайда: Безопасность сессии
Существуют следующие методы обеспечения безопасности сессии:
Запрет на хранение идентификатора сессии в части URL (только в Cookies)
Экранирование символов, способных внедрить HTML-код на страницу (можно использовать функцию htmlspecialchars())
Использование протокола SSL над HTTP
№15 слайд![Другие технологии защиты](/documents_6/b9f99c98f33da1da74a781217469b642/img14.jpg)
Содержание слайда: Другие технологии защиты сессии
Ограничение срока действия сессии
Привязка к IP-адресу пользователя, его браузеру и другим характеристикам
№16 слайд![Функция md string md string](/documents_6/b9f99c98f33da1da74a781217469b642/img15.jpg)
Содержание слайда: Функция md5()
string md5 ( string $str )
Вычисляет MD5-хэш строки str используя алгоритм MD5 RSA Data Security, Inc. и возвращает этот хэш.
<?php
$str = 'яблоко';
if (md5($str) === '1afa148eb41f2e7103f21410bf48346c') {
echo "Вам зеленое или красное яблоко?";
}
?>
№17 слайд![Лабораторная работа Создать](/documents_6/b9f99c98f33da1da74a781217469b642/img16.jpg)
Содержание слайда: Лабораторная работа
Создать скрипт авторизации пользователя на сайте при помощи сессий
Создать форму авторизации (логин и пароль)
Реализовать алгоритм авторизации, сопоставляя данные с теми, которые установлены внутри файла скрипта.
Пароль хранить в переменной, предварительно зашифровав значение при помощи функции md5().