Одним із стандартних завдань, які можна вирішити за допомогою .htaccess, є обмеження доступу до певного каталогу на сервері. Наприклад, потрібно надати доступ до певного каталогу окремим відвідувачам, надавши їм унікальний логін і пароль.
У каталозі, до якого ми хочемо обмежити доступ за паролем, ми створюємо файл .htaccess з такими директивами:
AuthType Basic
AuthName "Some Name"
AuthUserFile /home/uXXXXX/.htpasswd
require valid-user
Шлях /home/uXXXXX/ .htpasswd позначає повний шлях до файлу паролів на диску нашого сервера. Якщо, наприклад, ви розмістите файл .htpasswd (він буде містити паролі) у вашому домашньому каталозі, куди ви потрапите, зайшовши на сервер через FTP, то шлях до цього файлу матиме вигляд /home/uXXXXX/.htpasswd , де uXXXXX — назва ваших віртуальних сайтів (наприклад, u12345 ).
У директиві AuthUserFile вказуємо абсолютний шлях до файлу з логінами/паролями, який ми створимо трохи пізніше. Якщо ви створюєте файл .htaccess на своєму комп’ютері, а не безпосередньо на сервері за допомогою текстового редактора, зауважте, що .htaccess потрібно передавати через FTP виключно в текстовому режимі (ASCII).
Створіть файл паролів. Файл пароля має містити такі рядки, як login: password . Пароль має бути зашифрований за допомогою алгоритму MD5. Один зі способів створення такого файлу — скористатися програмою, що входить до складу Apache — htpasswd (на нашому сервері він знаходиться в каталозі /usr/local/bin/ , повний шлях — /usr/local/bin/htpasswd ).
Давайте розглянемо, як створити файл паролів в оболонці Unix безпосередньо на сервері. Давайте перейдемо до оболонки та виконаємо наступні команди:
htpasswd -mbc .htpasswd user1 sNQ7j9oR2w
htpasswd .htpasswd user2
Додайте користувача2 до наявного файлу .htpasswd і введіть пароль вручну у відповідь на відповідний запит програми.
Якщо ви використовуєте Windows і не бажаєте використовувати оболонку unix для створення паролів, ви можете завантажити версію програми htpasswd для Windows тут і створити файл із паролями на своєму комп’ютері, а потім завантажити його на сервер. Якщо у вас уже встановлена версія Apache для Windows, файл htpasswd.exe можна знайти в каталозі Program Files\Apache Group\Apache\bin\ .
Отже, отримайте htpasswd.exe і використовуйте його для створення паролів, як це:
htpasswd.exe -mc .htpasswd user1
створіть новий файл паролів htpasswd.exe, пароль і його підтвердження будуть запрошені в інтерактивному режимі
htpasswd.exe -m .htpasswd user2
додайте користувача user2 до існуючого файлу паролів htpasswd.exe, запитуючи пароль в інтерактивному режимі.
Після того, як усі логіни створені, файл необхідно завантажити на сервер.