Разработка системы доступа к ресурсам образовательного веб-портала вуза

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?тенциальный сотрудник получил работу в вузе, эти пользователи получают доступ к Личному кабинету с полным набором функциональных возможностей.

На этом завершается регистрация нового пользователя в системе.

Алгоритм 2 этапа регистрации новых пользователей представлен на рис. 8.

Рис. 8. Алгоритм 2 этапа регистрации новых пользователей

4.3 Выбор вида авторизации и его реализация

.3.1 Авторизация средствами web-сервера

Авторизация - это процесс подтверждения (проверки) прав пользователей на выполнение некоторых действий.

Для ограничения доступа к некоторым файлам можно использовать встроенные в Web-сервер Apache средства ограничения доступа.

В конфигурационном файле Apache httpd.conf можно указать необходимые параметры:

-AuthName "Private Zone" -название защищенной зоны;

-AuthType Basic - тип;

-AuthUserFile -путь к файлу с паролями.

Этот файл должен быть создан в особом формате, так как пароли в нем хранятся в зашифрованном виде.

После соответствующих настроек при попытке запроса любого ресурса из защищенной папки посетителю будет выдан стандартный запрос логина и пароля, вид которого представлен на рис. 9.

Рис. 9. Запрос на вход в папку

4.3.2 Авторизация с помощью заголовка

В PHP есть команда Header - она позволяет отправить браузеру посетителя, запросившему страницу с содержащим эту команду iенарием, определенную служебную информацию - так называемый "заголовок". Для авторизации нам потребуется заголовок "WWW-Authenticate".

В том случае, если браузер получает заголовок "WWW-Authenticate", то он выдает посетителю стандартное окно для ввода логина и пароля (рис. 9.).

Этот вид авторизации тоже реализуется стандартными средствами web-сервера.

Преимущества 1 и 2 вида авторизации:

-функции ограничения доступа встроены в Web-сервер Apache, поэтому нет необходимости создавать что-то новое;

-высокая степень надежности;

-не задействованы cookies.

Недостатки:

-перенос файлов на другой сервер требует воссоздания .htpassw по новой;

-довольно утомительно осуществлять смену пароля;

-для создания файла с паролями необходимо специальное ПО;

-стандартный вид;

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

4.3.3 Авторизация с помощью cookies

Cookie - это файл в специальном формате, который присылается сервером браузеру посетителя сайта, расположенном на этом сервере. Браузер, если он поддерживает cookie (и эта поддержка в нем не отключена), помещает его в особое место и впоследствии отправляет назад на сервер при поступлении от него запроса.можно установить (т.е. прислать на компьютер посетителя) и средствами PHP. Для этого используется команда SetCookie, имеющая параметры:

-имя cookie;

-информация, записанная в cookie;

-время жизни cookie.

Преимущества:

-простота реализации;

-удобство использования.

Недостатки:

-некоторые пользователи ОТКЛЮЧАЮТ cookie;

-проверка правильности логина и пароля осуществляется на каждой странице, поэтому возрастает нагрузка на web-сервер;

-низкая степень надежности.

Во-первых, cookie с этими данными сохраняется на компьютере посетителя, а значит, теоретически может быть с него похищен.

Во-вторых, возможность захода на web-страницу "защищенной зоны" в течение некоторого времени без необходимости ввода логина и пароля может привести и к нежелательным последствиям - если посетитель забудет зайти на страницу выхода, то любой, кто воспользуется его компьютером до истечения срока действия cookie, с точки зрения сервера будет вполне легальным пользователем.

4.3.4 Авторизация с помощью сессий

"Сессия" - несколько абстрактное понятие, означающее нечто вроде "законченного периода работы с сайтом".

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

Иными словами - работа механизма сессий в PHP происходит так: Когда посетитель заходит на сайт и для него устанавливаются какие-либо переменные (сам ли он их вводит или, скажем, они берутся из базы данных), то команды начала и регистрации сессии сохраняют эти переменные в определенном месте на самом сервере .

Если у посетителя браузер принимает cookie, то ему высылается cookie (с определенным именем - по умолчанию "PHPSESSID"), содержащий так называемый "идентификатор сессии" , а если нет, то web-сервер автоматически помещает данный идентификатор в переменную PHPSESSID в каждую ссылку на выдаваемых посетителю страницах сайта (естественно, "внутреннюю" - то есть ведущую на другие страницы того же самого сайта, с тем же самым доменным именем). Таким образом, идентификатор передается на сервер при каждом заходе посетителя на какую-либо из страниц сайта, будучи либо взятым из соответствующего cookie, установленного посетителю п