Разработка системы доступа к ресурсам образовательного веб-портала вуза
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?тенциальный сотрудник получил работу в вузе, эти пользователи получают доступ к Личному кабинету с полным набором функциональных возможностей.
На этом завершается регистрация нового пользователя в системе.
Алгоритм 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, установленного посетителю п