Паролирование директорий с помощью .htaccess
Автор: Бардин П.Б.
Писал как-то скрипты каталога ссылок на PHP. Для
управления(администрирования) каталога написал кучу скриптов. Файлов
где-то порядка 20. Тут возник вопрос! Как защитить скрипты
администрирования? Можно конечно сделать это с помощью куки, сессий, но
мне не хотелось возиться с каждым скриптом.
Тут я вспомнил, что на определённый файл или директорию можно поставить
пароль используя файл конфигурации .htaccess веб-сервера Apache. Здесь я расскажу как ставить пароль на
директорию.
Файл .htaccess - обычный текстовый файл. Его нужно
создать в той директории, которую вы хотите запоролить.
Содержание файла .htaccess
AuthName "Вход для
администратора"
AuthType Basic
AuthUserFile /полный путь к
файлу с паролями/.htpasswd
require valid-user
Директива AuthName задаёт строку-подсказку, которая
будет выводиться браузером в окне авторизации пользователя. Смотри рис.1.
рис. 1.
С помощью директивы AuthUserFile указывается полный
путь к файлу с паролями. Путь должен идти от корня сервера. Указав неправильный путь, сервер Apache не
сможет прочитать файл с паролями и тогда доступ к директории будет закрыт
для всех. В данном примере файл с паролями называется .htpasswd.
С помощью директивы require задаются пользователи (группы
пользователей), которые могут получить доступ к директории. В данном
примере директива require valid-user даёт доступ к директории всем
пользователям, которые перечислены в файле .htpasswd.
После того как вы создали файл .htaccess и скопировали его в нужную
директорию, вам предстоит создать файл .htpasswd c
паролями пользователей. Это текстовый файл со списком пользователей и их
паролей(зашифрованных).
Создать файл .htpasswd можно двумя способами:
1. Используя специальную утилиту htpasswd, если у вас
есть SSH доступ. Сразу скажу, что этот вариант я не пробовал, но синтаксис
команды такой: htpasswd -c .htpasswd имя_пользователя После ввода команды вам необходимо будет ввести пароль.
2. Скачать программу для Windows.
После запуска программы (см. рис. 2.) в окно UserName введите имя пользователя, а в окно UserPassword его
пароль. В окно Password File введите имя файла с паролями
- .htpasswd и жмите кнопку Encode and
Save. После этого программа создаст файл
.htpasswd. Скопируйте этот файл в директорию указанную в
директиве AuthUserFile файла .htaccess.
Теперь доступ к директории имеют пользователи перечисленные в файле
.htpasswd.
рис. 2.
Всё.