Как установить пароль для доступа к папке на сервере с помощью .htpasswd и .htaccess
Для тех кто не знает:
.htaccess – файл дополнительной конфигурации веб-сервера.
.htpasswd – файл содержащий пары логин и пароль в MD5 хеше, используемый в механизме базовой аутентификации.
Для того чтобы запретить доступ к определенной директории нужно создать файл .htaccess и поместить его в эту папку.
1. В файле должно быть прописано:
1 |
AuthType Basic AuthName "Please input login and password!" AuthUserFile /usr/host/mysite/.htpasswd require valid-user |
- AuthType — может иметь значение Basic или Digest, в нашем случае нам подойдет Basic.
- AuthName — текст выводимый вместе с формой авторизации.
- AuthUserFile — путь к файлу с паролями (.htpasswd).
- AuthGroupFile — путь к файлу групп, если он существует.
- Require — определяет параметры аутентификации. (User,Group,Valid-user) Valid-user – все прошедшие проверку. User – пользователи имеющие права доступа. Group – группы пользователей имеющие права доступа.
2. В файл .htpasswd нужно поместить связку логина и пароля, например:
1 |
manager:$apr1$ejtOHg/4$cMColJLMZ39weAalo3V8k0 |
Собственно откуда их взять?
Для пользователей Linux, или тех у кого есть SSH доступ к серверу, поможет утилита htpasswd
Пример:
1 |
htpasswd –cdb .htpasswd manager 123 |
Для пользователей windows можно воспользоваться htpasswd или аналогичной ей утилитой.
Важно:
Для директивы AuthUserFile в .htaccess должен быть прописан абсолютный путь до файла с паролями.