Защита директорий сайта с помощью .htaccess
Для того, чтобы ограничить доступ к отдельным директориям сайта можно
устроить аутентификацию с помощью механизма сессий, базы данных и аутентификационного скрипта,
однако существует способ гораздо проще.
Сервер Apache имеет встроенные средства аутентификации, о которых я сейчас и расскажу.
Для реализации этого метода вам понадобится утилита htpasswd.exe, которую вы можете найти в
директории /bin Web-сервера Apache.
Существуют и другие утилиты подобного рода, но эту найти по-моему проще всего.
Достаточно скачать какую-нибудь версию Apache и установить её. Далее следуйте инструкции:
Шаг 1. Создайте простой текстовый файл и запишите в него следующие инструкции:
AuthType Basic
AuthName "Password Access"
AuthUserFile /путь к файлу/паролей/на/вашем сервере/.htpasswd
require valid-user
Этот файл сохраните под именем .htaccess
Шаг 2. Создайте файл с учетными записями пользователей.
Для этого на своем локальном компъютере зайдите в каталог, где лежит утилита htpasswd.exe и дайте
команду:
htpasswd -cmd .htpasswd user1 password1
Вы увидете, что в директории появится файл .htpasswd с учетными записями пользователей в UNIX - формате.
Для добавления последующих пользователей в этот файл параметр -с указывать уже не нужно, и команда
будет выглядеть так:
htpasswd -md .htpasswd user2 password2
Файл .htpasswd я вам рекомендую положить повыше, желательно в самый корень сайта, выше директории
www/ или той директории, где у вас лежит файл index.html.
/путь к файлу/паролей/на/вашем сервере/ как раз и должен указывать на этот файл.
Этот путь нужно узнать у вашего хостера, так как на разных серваках он разный.
Обычно его пишут где-нибудь на видном месте в панели управления сайтом.
У вас он может выглядеть как что-то подобное www/r/rrr/site/home/
Шаг 3. Файл .htaccess положите в директорию, которую вы собираетесь закрыть от неавторизованного доступа.
А файл .htpasswd положите в корень сайта в соответствии с абсолютным путем, прописанным в файле
.htaccess.
Всё! В качестве проверки попытайтесь пробраться с помощью браузера в защищенную директорию
и наслаждайтесь видом серверной формы для ввода пароля.