Name varchar(16) NOT NULL '',
АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ Лекция
Подготовлена Прохоровым В.С.
Просьба к пользователю доказать свою личность называется аутентификацией. Обычный метод аутентификации в Web — это требование к посетителям предоставить уникальное имя пользователя и пароль. Аутентификация используется для разрешения или запрещения доступа к определенным страницам или ресурсам. Аутентификация может быть необязательной либо использоваться для других целей, например, для персонализации.
Форма для передачи данных
Пользователь может в удобной форме ввести уникальное имя и пароль с помощью HTML-документа index.html с элементами диалога — текстовыми полями и кнопкой. Листинг index.html. Страница с формой <html> <head> <title>АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЯ</title> </head> <body> <h1>Пожалуйста зарегистрируйтесь</h1> <p>Зарегистрировавшись, Вы получите доступ к защищенной странице.</p> <p>Имя и Пароль можно получить у администратора.</p> <form action=hello.php> Имя : <input type=text name=login> <br> Пароль : <input type=password name=pass> <br> <input type=submit v а 1ue = Отправить ><br> </form> </body> </html> После того как пользователь заполнит текстовые поля и нажмет кнопку «Отправить», браузер обратится к сценарию hello.php и передаст их в строке параметров. В атрибуте action тега <form> задан относительный путь, т. е. сценарий hello.php будет искаться браузером в том же самом каталоге, что и файл form.html. Осталось определиться, как можно извлечь $ l ogin и $pass из строки параметров. Трансляция полей формы Независимо от того, каким методом — get или post — воспользовался браузер, РНР сам определяет, какой метод был задействован. Все данные из полей формы РНР помещает в глобальный массив $_ REQUEST. Значение поля login будет храниться в $_ REQUEST ['login'], а значение поля p ass — в $_ REQUEST ['pass']. Чтобы можно было как-то разделить GET-параметры от POST-данных, РНР также создает массивы $_GET и $_ POST, заполняя их соответствующими значениями. Массив $_ REQUEST представляет собой объединение этих двух массивов. Листинг hello.php - сценарий извлечения текста из полей формы <?php if ($_REQUEST['login']=="root" && $_REQUEST['pass']=="Z10N0101") { echo "Доступ открыт для пользователя $_ REQUEST [ login ]"; } Else { echo "Доступ закрыт! При вводе данных была совершена ошибка. Для исправления ошибки нужно вернуться < a href = index . html >назад</ a >"; } ?> При создании сценария извлечения текста из полей формы hello.php применена инструкция if- else. Инструкция if - else — условный оператор. Его формат таков: if (логическое_выражение) инструкция_1 ; Else инструкция_2; Действие инструкции следующее: если логическое_выражение истинно, то выполняется инструкция_1, а иначе — инструкция_2. Как и в любом другом языке, конструкция else может опускаться. В этом случае при получении ложного значения просто ничего не делается.
Если при вводе данных будет совершена ошибка, например, неправильно введен пароль, то доступ будет закрыт:
Рассмотренный код, реализует простой механизм, позволяющий санкционированным посетителям видеть защищенную страницу. Этот сценарий: ● поддерживает только одно жестко закодированное имя пользователя и пароль; ● хранит пароль в виде простого текста; ● защищает только одну страницу; ● передает пароль в виде простого текста. Хранение паролей
Для хранения паролей лучше применить базу данных. Если планируется сохранять большое количество элементов в файле или производить поиск в рамках большого числа элементов, то следует рассмотреть возможность использования базы данных вместо двумерного файла. Практический метод выбора между файлом и базой данных гласит: если вы собираетесь хранить и производить поиск в более чем 100 элементах, следует отдать предпочтение базе данных. Использование базы данных для хранения имен и паролей посетителей позволяет быстро проводить аутентификацию множества пользователей. Это также упрощает создание сценария для добавления и удаления пользователей, а также дает возможность пользователям изменять свои пароли. Разработаем сценарий для аутентификации посетителей страницы с использованием базы данных. Базу данных auth и таблицу auth в ней можно создать, подключившись к MySQL как пользователь root и запустив показанный в листинге create_db.php сценарий. Листинг create_db.php —запросы для создания базы данных auth с таблицей auth <? //Создаем базу данных MySQL //Открыть постоянное соединение с с MySQL-сервером, сервер localhost, //имя пользователя root, пустой пароль $link = mysql_pconnect("localhost", "root", "") or exit("Соединение с MySQL-сервером не создано"); //отправляем запрос текущей активной БД на сервере и // и создаем базу данных auth $result=mysql_query("create database auth"); if(!$result) echo"База данных не создана"; // Выбираем БД MySQL auth $result=mysql_select_db("auth"); if(!$result) echo"База данных не выбрана"; //отправляем MySQL-запрос/query и //создаем таблицу auth в базе данных auth $result=mysql_query("create table auth ( name varchar(16) NOT NULL '',
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (198)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |