Page 181 - 4636
P. 181
Рисунок 10.4 - При використанні Http-Аутентифікації зовнішній вигляд діалогового вікна
визначається браузером користувача
Firefox надає необмежену кількість спроб, але між спробами виводить діалогове вікно із запитом
про повтор "Authentication Failed. Retry?" (Аутентифікація була невдалою. Повторити спробу?). Firefox
виводить повідомлення про відмову в доступі, тільки якщо користувач клацає на кнопці Cancel
(Скасування).
Як і код з лістингів 10.1 і 10.2, код даних прикладів можна помістити в усі сторінки, які потрібно
захистити, або автоматично вставити його в початок кожного файлу в каталозі.
Використання базової аутентифікації за допомогою файлов. htaccess сервера Apache
Результату, подібного результату виконання попереднього сценарію, можна досягти й без Php-
Сценарію. Сервер Apache містить безліч різних модулів, які дозволяють визначити правильність
уведених користувачем даних. Найбільш простий з них — модуль mod auth, який порівнює пари "
імена-пароль" з рядками текстового файлу, що зберігається на сервері.
Щоб дані на екрані користувача збігалися з результатом виконання попереднього сценарію, буде
потрібно створити два Html-файли — один для вмісту сторінки й один для повідомлення про відмову в
доступі. У попередніх прикладах були опущені деякі елементи Html-коду, але насправді в Html-файлах
повинні перебувати Html-дескриптори <html> і <body>.
У лістингу 10.5 показаний уміст файлу content.html, яке будуть бачити користувачі, що успішно
пройшли аутентифікацію. Лістинг 10.6 містить Html-код сторінки rejection.html з повідомленням про
відмову в доступі.
Створювати сторінку, яка буде відображатися у випадку помилки, зовсім не обов'язково, але
наявність такої сторінки з корисною інформацією свідчить про гарний стиль і професіоналізм. Така
сторінка буде відображатися користувачеві при невдалій спробі ввійти в "закриту" зону, і може
виявитися корисної інформація про те, як зареєструватися й одержати пароль, або як його
перевизначити й відправити електронною поштою, якщо раптом пароль був забутий.
Лістинг 10.5. content.html — приклади контенту
<html><body>
<п1>Ви на місці!</п1>
<р>Ви напевно щасливі переглянути цю секретну
сторінку</р></bodyx/html>
Лістинг 17.6. rejection.html - простої повідомлення про помилку 401
<html><body>
178