Page 182 - 4636
P. 182
<Ы>Киш звідси!</Ы>
<р>Вам не дозволено переглядати даний ресурс</р></bodyx/html>
У цих файлах немає нічого нового. Для даного прикладу інтерес представляє файл із лістингу
10.1. Цей файл повинен мати імена .htaccess. Він буде управляти доступом до файлів і
підкаталогами каталогу, у якому він розташований.
Лістинг 10.6. .htaccess — дозволяє встановити різні параметри сервера Apache, включаючи
активізацію аутентифікації
Errordocument 401 /chapterl7/rejection.html Authuserfile
/home/book/.htpass Authgroupfile /dev/null Autbname "Realm-Name" Authtype
Basic require valid-user
У лістингу 10.6 показаний уміст файлу .htaccess, яке забезпечує включення базової
аутентифікації в каталозі. У цьому файлі можна встановлювати різні параметри, однак у даному
прикладі усі шість рядків відносяться до аутентифікації.
Перший рядок:
Errordocument 401 /chapterl7/rejection.html
указує сервер) Apache, який документ слід відобразити відвідувачам, що не пройшли
аутентифікацію (помилка HTTP 401). Директиву Errordocument можна використовувати кілька раз в
одному файлі, щоб указати власні сторінки для повідомлень про інші помилки протоколу HTTP,
наприклад, про помилку 404. Синтаксис цієї директиви такий:
Errordocument номер_помилки URL
Важливо, щоб сторінка з повідомленням про помилку 401 була доступна для всіх відвідувачів.
Немає змісту створювати спеціальну сторінку з повідомленнями про невдалу аутентифікацію, якщо ця
сторінка розташовується в каталозі, у який можна потрапити тільки після успішного проходження
аутентифікації.
Рядок
Authuserfile /home/book/.htpass
вказує серверу, де шукати файл, що містить паролі користувачів. Часто цей файл має ім'я . htpass, але
можна вибрати довільні імена. Не важливо, як цей файл називається, але важливо-, де він зберігається.
Він не повинен зберігатися в рамках дерева веб-каталогів — там, звідки користувачі можуть його
завантажити за допомогою веб-сервера. Уміст файлу .htpass для даного прикладу показано в лістингу
9.7.
Лістинг 10.7. .htpass — файл паролів зберігає імена й зашифровані паролі кожного
користувача
userl:0nrp9M80GS7zm user2:nc13s0T0hp.ow user3:yjqmcpwjxftzu
user4:Lomlmei/hame2
Крім перерахування окремих санкціонованих користувачів, можна вказати, що доступ до
ресурсів дозволений тільки користувачам з певної групи, котрі пройшли аутентифікацію. У даному
прикладі ця можливість не використовується, і рядок
Authgroupfile /dev/null
заносить у параметр Authgroupfile значення /dev/null — спеціальний файл в Unix-Системах,
який є гарантовано порожнім.
Як і в прикладах із РНР, для використання Http-аутентифікаціїнеобхідно привласнити імена зони.
Це виконує наступний рядок:
Authname '.'Realm-Name"
Ім'я зони може бути довільним, але слід пам'ятати, що це ім’я будуть бачити відвідувачі. Щоб ще
раз нагадати, що імена зони в цьому прикладі слід змінити, було обране ім'я "Realm-Name" ( Ім’я-
Зони).
Оскільки сервер підтримує різні методи аутентифікації, слід указати, який саме метод буде
використовуватися. У нашому випадку застосовується базова аутентифікація:
Authtype Basic
179