- В папке, которую хотите запаролить, открываем файл .htaccess и добавляем в него 4 строчки...
- Require valid-user — разрешаем доступ только правильно залогиневшемуся пользователю
- AuthName «Private zone» — придумываем фразу куда мы будем логиниться
- Authtype Basic — тип авторизации
- AuthUserFile /home/etc/public_html/file/.htpasswd — Внимание! Полный путь, от корня сервера. Относительный путь, даже с вводом правильного логина и пароля работать не будет, а будет выдавать 404 ошибку! И не забывайте — это путь для примера, пишите свой!
- Создаём файл .htpasswd
- Идём сюда:
www.htaccesstools.com/htpasswd-generator/
- Вводим в первую строку будущий логин, во вторую требуемый для него пароль
- В итоге получаете строку с логином и зашифрованным паролем
- Например, для логина user и пароля password — строка будет такая: user:$apr1$t1cZv0bZ$/lQQVIxhMujGGzVgAIdUZ1
- Пользователей может быть несколько
- Копируем эту строку в наш файл .htpasswd
В итоге у нас получилось 2 файла: .htaccess и .htpasswd.
Require valid-user
AuthName «Private zone»
Authtype Basic
AuthUserFile /home/etc/public_html/file/.htpasswd
# Это то, что содержит мой файл .htaccess для того, что бы листинг файлов работал
< Files ~ "^.*\.([Hh][Tt][Aa])" >
order allow,deny
deny from all
< /Files >
# enable file listing
Options +Indexes
# enable comments, icons. Folders — First
IndexOptions SuppressHTMLPreamble Charset=UTF-8 FancyIndexing FoldersFirst SuppressDescription XHTML HTMLtable
# files igrore
IndexIgnore .htaccess .htaccess~ footer.shtml header.shtml
# index order
IndexOrderDefault Ascending Name
# icons
AddIcon /images/listing-files/folder.png ^^DIRECTORY^^
AddIcon /images/listing-files/folder-home.png ..
AddIcon /images/listing-files/exe.png .exe
AddIcon /images/listing-files/rar.png .rar
AddIcon /images/listing-files/zip.png .zip
AddIcon /images/listing-files/install.png .msi
DefaultIcon /images/listing-files/default.png
HeaderName /file/header.shtml
ReadmeName /file/footer.shtml
# CSS
IndexStyleSheet «/wp-content/themes/css/index.css»
После того, как в нашей директории мы обновим файл .htaccess и скопируем к нему .htpasswd, любой, кто попытается получить к ней доступ, должен будет ввести имя пользователя — user и пароль — password.
Ошибка 404
Столкнулся с проблемой.
Вот есть у меня каталог с листингом файлов. Даю доступ, перехожу по ссылке, всё ОК. Как только настраиваю .htaccess на доступ по паролю, вместо того, что бы запросить у меня логин и пароль — вылазит 404 ошибка.
Короче, понятия не имею почему так — это вопрос к программистам. Но вот решение.
Нужно просто в .htaccess добавить ещё одну строку:
ErrorDocument 401 «Authorisation Required»
Ребят, подскажите, пожалуйста, как будет выглядеть файл Htpasswd с несколькими пользователями? Нового пользователя можно вводить в новых строках или между ними что-то прописывать нужно?
user1:$apr1$2FFn8y7Z$2N4gU/80yiH7X4upr/zcb1
user2:$apr1$Np9IR5T.$rG59bSjEd3Z4IwIBf5nv//