Файл: Обеспечение аутентификации и авторизации пользователей в web-приложении.pdf
Добавлен: 03.07.2023
Просмотров: 122
Скачиваний: 4
// cookie на одну неделю , в которую помещаем имя
// пользователя и его пароль
)
@setcookie ("name ", [60]
urlencode ($form->fields ['name' ] ->value) ,
time () + 7*24*3600) ;
@setcookie ("раss ",
urlencode ($form-> fields ['pass ']->value) ,
time () + 7*24*3600);
// Перегружаем страницу
header ("Location : $_SERVER [РНР_SELF] ") ;
exit () ;
// Подключаем верхний шаблон
$pagename
"Вход на сайт ";
$keywords
"Вход на сайт" ;
require_once ("templates/top.php") ;
// Название страницы
echo title ( $pagename) ;
// Выводим сообщения об ошибках, если они имеются
if (!empty ($error) )
echo "<br> " ;
foreach ($error аэ $err)
echo "<span style=\"color :red\ " сlаss=main_tхt>$еrr</sраn><br> ";
?>
// Выводим НТМL-форму
$form->print_form() ;
// Подключаем нижний шаблон
require_once ("templates /bottom.php" ) ;
catch ( ExceptionМySQL $ехс )
require_once ("exception_mysql_debug.php " );
catch ( ExceptionМySQL $ехс )[61]
requi re_once ("exception_mysql_debug.php " );
catch ( ExceptionМember $ехс )
require_once ("exception_member_debug.php ") ;
Главная особенность этой формы заключается в том, что если пользователь уже авторизован, его данные подставляются в поле для имени пользователя name и пароля pass. Для этого проверяется элемент $_SESSION ['id_user_position' ]:, если он содержит первичный ключ пользователя, посетитель авторизован и можно воспользоваться функцией user( ) для извлечения его параметров, которые затем подставляются в НТМL-форму через суперглобальный массив $_REQUEST. Если посетитель не авторизован, но на его компьютере установлены cookie для имени name. и пароля pass, осуществляется попытка авторизации при помощи функции enter () . Если авторизация пройдена успешно, параметры входа помещаются в массив $_REQUEST.
Далее формируется НТМL-форма и ее обработчик, в котором проверяется, имеется ли в таблице system_users( $tbl_users) запрашиваемый пользователь. Если пользователь существует, осуществляется попытка авторизации при помощи функции enter(). Кроме этого, проверяется наличие флажка remember; если он отмечен, устанавливаются две cookie для имени пользователя name и для пароля pass сроком на неделю. Если в течение недели пользователь снова зайдет на сайт, его имя и пароль будут доступны в массиве $_COOКIE.[62]
В данной главе было продемонстрирована возможность аутентификации и авторизации пользователей в web-приложении. Последовательно рассмотрены шаги пользователя для прохождения авторизации. А также рассмотрены действия Web-сервера, который проверяет правильность логина и пароля, введенные пользователем. В случае некорректных данных сервер вернёт ошибку, иначе назначит пользователю определенные права и предоставит некоторые возможности работы с Web-приложением.
Заключение
В результате выполнения данной работы, были решены следующие задачи:
- Изучены возможностями СУБД MySQL и некоторые SQL-запросы;
- Рассмотрены синтаксис языка PHP и механизм сессий;
- Обеспечены принципамы аутентификации и авторизации пользователей в web-приложении.
Список литературы
- Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – 448 с.
- Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – 848 с.
- Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора. – Пер. с англ. / Гешвинде Э., Шениг Г.Ю. – СПб: ООО «ДиаСофтЮП», 2003. – 608 с.
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – 544 с.
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 1264.
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – 384 с.
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 105. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 99. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 41. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 41. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 99. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 110. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 100. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 47. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 101. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 112. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 101. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 109. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 102. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 146. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 48. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 105. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 126. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 126. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 148. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 107. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 157. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 128. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 129. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 159. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 54. ↑
-
Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – С. 248. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 163. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 56. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 134. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 58. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 30. ↑
-
Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – С. 39. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 34. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 214. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 59. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 61. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 61. ↑
-
PHP и MySQL. Исчерпывающее руководство. 2-е изд. / Маклафлин Б. – СПб.: Питер, 2014. – С. 65. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 61. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 61. ↑
-
Изучаем PHP и MySQL. – Пер. с англ. / Дэвис Е.М., Филлипс Д.А., 2008. – С. 61. ↑
-
Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора. – Пер. с англ. / Гешвинде Э., Шениг Г.Ю. – СПб: ООО «ДиаСофтЮП», 2003. – С. 56. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 62. ↑
-
Разработка Web-приложений на PHP и PostgreSQL. Руководство разработчика и администратора. – Пер. с англ. / Гешвинде Э., Шениг Г.Ю. – СПб: ООО «ДиаСофтЮП», 2003. – С. 56. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 63. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 63. ↑
-
Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – С. 483. ↑
-
Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – С. 483. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 245. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 216. ↑
-
Разработка веб-приложений с помощью PHP и MySQL. – Пер. с англ. / Веллинг Л., Томсон Л., 2010. – С. 484. ↑
-
PHP и MySQL. От новичка к профессионалу / Кевин Янк. – М.: Эксмо, 2013. – С. 217. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 243. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 826. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 827. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 828. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 829. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 830. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 831. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 832. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 832. ↑
-
PHP. Практика создания Web-сайтов / Кузнецов М.В., Симдянов И.В. – СПб.: БХВ-Петербург, 2009. – С. 834. ↑