Главная страница

Методические указания к лабораторным работам для студентов iii курса автф


Скачать 1.96 Mb.
НазваниеМетодические указания к лабораторным работам для студентов iii курса автф
Дата16.03.2023
Размер1.96 Mb.
Формат файлаdoc
Имя файлаlabs_new.doc
ТипМетодические указания
#995442
страница2 из 6
1   2   3   4   5   6

Go Away!

";}

else {echo "

Here it is!

"};

Но наилучший вариант - управление сценариями. Для запуска сеанса в РНР используется уникальный идентификатор сеанса, представляющий собой зашифрованное случайное число. Идентификатор сеанса генерируется РНР и сохраняется на стороне клиента в течение всего времени жизни сеанса. Для хранения идентификатора сеанса используется либо cookie-набор на компьютере пользователя, либо URL.

Прежде чем можно будет воспользоваться функциональными возможностями сеанса, следует запустить сам сеанс. Существует три способа сделать это.

В первом способе сценарий начинается с вызова функции session_start();

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

Второй способ заключается в том, что сеанс запускается при попытке зарегистрировать переменные сеанса. Например, для регистрации переменной $myvar применяется код:

$myvar = 5; session_register("myvar");

Третий способ запустить сеанс — задать установки РНР, при которых сеанс будет запускаться автоматически. Для этого установите опцию session.auto_start в файле php.ini.

Получить доступ к переменной сеанса можно через ассоциативный массив: $HTTP_SESSION_VARS["myvar"] (сокращенная форма записи: $_SESSION ["myvar"]). Переменные сеанса не могут быть перезаписаны данными GET или POST. Проверить, является ли переменная зарегистрированной переменной сеанса, можно так: $result = session_is_registered("myvar");

После окончания работы с переменной сеанса ее регистрацию можно отменить, воспользовавшись функцией session_unregister("myvar");

Она за один раз может отменить регистрацию только одной переменной сеанса (в противоположность session_register()). Для отмены регистрации всех переменных текущего сеанса можно обратиться к session_unset().

По завершении сеанса сначала потребуется отменить регистрацию всех переменных, а затем для обнуления идентификатора сеанса вызвать session_destroy();

Пример см. здесь: http://gun.cs.nstu.ru/web/labs/lab4/. Для доступа используются учетные записи администратора tratata с паролем secretpassword и модератора user с паролем test. Ссылка на модуль администрирования представляет собой пример курсовой работы.

  1. Методические указания

    1. Для разработки сценариев применяйте любые доступные текстовые редакторы, например, Jview или Notepad++.

    2. Сценарии располагаются на сервере с адресом 217.71.139.72, подключение к которому производится по протоколу FTP с именем учетной записи userNM, где N – порядковый номер группы, M- номер студента по журналу, пароль сообщается преподавателем.

    3. Лабораторная работа выполняется в отдельной папке на сервере, куда копируются сценарии лабораторной работы №3 для модификации.

    4. При настройке клиента FTP необходимо установить пассивный режим.

    5. При разработке страниц периодически сохраняйте их и проверяйте их отображение в любом из доступных браузеров.

    6. При написании сценариев обращайте внимание на кодировку русского текста, правильность написания HTML-тегов, имен переменных и функций PHP, парность открывающих и закрывающих кавычек в операторе echo.

    7. При отладке сценариев обновляйте содержимое окна браузера при нажатой клавише Shift. Для запрета кэширования web-страниц на локальном диске формируйте в сценариях заголовок header(expires='-1d').

    8. По окончании лабораторной работы запишите документы сайта на сменный носитель для сохранения и распечатки.

  2. Порядок выполнения работы

    1. Разработать таблицы пользователей и групп доступа, добавить их в базу данных из лабораторной работы №1, заполнить не менее чем двумя записями.

    2. Модифицировать файл index.php сценария извлечения записей из базы данных так, чтобы неавторизованному пользователю была доступна только функция извлечения данных и поиск по параметру. Разместить в нем ссылку на сценарий авторизации. Из браузера обратиться по адресу http://217.71.139.72/userNM/index.php, убедиться в наличии минимальных прав доступа к базе данных.

    3. Разработать сценарий авторизации пользователей, выполняющий перенаправление на файл п.4.2 при успешной авторизации, модифицировать файл п.4.2 для отображения учетной записи авторизованного пользователя, ссылки на файл окончания авторизации, отображения ссылок на сценарии добавления, изменения, удаления записей в зависимости от группы доступа авторизованного пользователя. Из браузера обратиться по адресу http://217.71.139.72/userNM/index.php, выполнить авторизацию, убедиться в наличии прав доступа к базе данных, соответствующих группе доступа авторизованного пользователя.

    4. Модифицировать сценарии, реализующие операции добавления, изменения и удаления записей, для обеспечения доступа к ним только авторизованных пользователей с соответствующей группой доступа.

    5. Разработать сценарий окончания авторизации пользователей, выполняющий перенаправление на файл п.4.2 при успешном окончании авторизации

    6. Отладить сценарии, продемонстрировать их работоспособность преподавателю.

    7. Сохранить на локальной машине и распечатать файлы отлаженных сценариев.

  3. Варианты заданий

Задания различаются структурой базы данных, регистрационными записями и паролями пользователей, имеющих разные права доступа к ней, реализованными в соответствии с заданиями к лабораторной работе №1, и являются модификацией лабораторной работы №3.

  1. Содержание отчета

    1. Цель работы.

    2. Вариант задания.

    3. Структура таблицы пользователей и групп доступа.

    4. Листинги сценариев.

  2. Контрольные вопросы

    1. Методы аутентификации пользователей, их достоинства и недостатки.

    2. Сеансы, их назначение.

    3. Способы запуска сеанса.

    4. Где могут храниться сеансовые переменные?

    5. Как проверить, является ли переменная сеансовой?

    6. Функции управления сеансами.

    7. Получение идентификатора сеанса и способы его передачи из одного сценария в другой.

    8. Сеансовые директивы в файле php.ini.

1   2   3   4   5   6


написать администратору сайта