Учебное пособие: Аутентификация пользователей
}
else
{
echo "Доступ закрыт! При вводе данных была совершена ошибка. Для исправления ошибки нужно вернуться < a href = index . html >назад</ a >";
}
?>
При создании сценария извлечения текста из полей формы hello.php применена инструкция if- else .
Инструкция if - else — условный оператор. Его формат таков:
if (логическое_выражение )
инструкция_1 ;
else
инструкция_2;
Действие инструкции следующее: если логическое_выражение истинно, то выполняется инструкция_1 , а иначе — инструкция_2 .
Как и в любом другом языке, конструкция else может опускаться. В этом случае при получении ложного значения просто ничего не делается.
Если при вводе данных будет совершена ошибка, например, неправильно введен пароль, то доступ будет закрыт:
Рассмотренный код, реализует простой механизм, позволяющий санкционированным посетителям видеть защищенную страницу.
Этот сценарий:
● поддерживает только одно жестко закодированное имя пользователя и пароль;
● хранит пароль в виде простого текста;
● защищает только одну страницу;
● передает пароль в виде простого текста.
3. Хранение паролей
Для хранения паролей лучше применить базу данных. Если планируется сохранять большое количество элементов в файле или производить поиск в рамках большого числа элементов, то следует рассмотреть возможность использования базы данных вместо двумерного файла.
Практический метод выбора между файлом и базой данных гласит: если вы собираетесь хранить и производить поиск в более чем 100 элементах, следует отдать предпочтение базе данных.
Использование базы данных для хранения имен и паролей посетителей позволяет быстро проводить аутентификацию множества пользователей. Это также упрощает создание сценария для добавления и удаления пользователей, а также дает возможность пользователям изменять свои пароли.
Разработаем сценарий для аутентификации посетителей страницы с использованием базы данных.
Базу данных auth и таблицу auth в ней можно создать, подключившись к MySQL как пользователь root и запустив показанный в листинге create_db.php сценарий.