Небольшая заметка на память как быстро организовать надежную защиту доступа к файлам и папкам на сервере под управлением HTTP-сервера Apache посредством авторизации.
В итоге доступ к листингу содержимого папок имеют конкретные юзеры определенные в файле .htaccess по логину и паролю определенным в файле .htpasswd.
Тестовая структура каталогов
folder1 | pass | folder2 | | | +-folder4 | folder3
Папки 1-3 содержать нужные файлы, в папке pass лежит файл .htpasswd с паролями.
Также в каждой папке (кроме корневой) лежит файл .htaccess с примерно таким содержимым:
AuthName "Зона с ограниченным доступом. Restricted area." AuthType Basic AuthUserFile /var/www/pass/.htpasswd Require user user1 user2 user3
Для разрешения просмотра соответствующим юзерам (либо с "Require valid-user" для всех существующих в .htpasswd юзеров).
Также в корневой .htaccess следует добавить строчку: Options +Indexes, что разрешит листинг этой и вложенных папок, а вцелом он может выглядеть так:
Options +Indexes DirectoryIndex index.html AddDefaultCharset Windows-1251 IndexOptions Charset=Windows-1251
Index.html в данном случае можно использовать для организации навигации по папкам:
<html> <title> Навигация по папкам </title> <body> <h1>Список папок с доступом по паролю</h1> <a href="folder1">folder1</a><br> <a href="folder2/folder4">folder2</a><br> </body> </html>
Регистр имеет значение!
Генерация паролей для .htpasswd
Для генерации паролей можно воспользоваться программой "Encode UNIX Passwords".
Заметка не претендует на энциклопедическую правильность, корректировки в комментариях приветствуются.
Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">