Как установить пароль для доступа к папке на сервере с помощью .htpasswd и .htaccess

27.01.2013

Для тех кто не знает:
.htaccess – файл дополнительной конфигурации веб-сервера.
.htpasswd – файл содержащий пары логин и пароль в MD5 хеше, используемый в механизме базовой аутентификации.
Для того чтобы запретить доступ к определенной директории нужно создать файл .htaccess и поместить его в эту папку.
1. В файле должно быть прописано:

1
2
3
4
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 должен быть прописан абсолютный путь до файла с паролями.


Категории: Web
Яндекс.Метрика