<Files "/secret/">
AuthUserFile /path_to_folder/.htpasswd
AuthName "Authentication Required"
AuthType Basic
Require valid-user
</Files>
Первая строчка "<Files "/secret/">"говорит, что на все файлы, находящиеся в папке сайта "/secret/", будут действовать следующие паравила, который записаны внутри этого тега. Разберём по строчкам все директивы:
- AuthType - может принимать значения "Basic" или "Digest" - это два разных типа защиты. Тип "Basic" слабый, потому что не использует ключ шифрования при передаче данных. Тип "Digest" обеспечивает повышенный уровень защиты, но его редко применяют.
- AuthName - надпись над полем ввода пароля. Можно написать что угодно.
- AuthUserFile - путь к файлу ".htpasswd".
- Require - определяет тип аутентификации: "valid-user" - могут войти все пользователи, правильно указавшие пароль (требует файла AuthUserFile); "group" - могут войти пользователи, которые входят перечисленные в группы (требует файла AuthGroupFile); "user" - смогут войти только те пользователи, имена которых указаны после директивы.
htpasswd -c /path_to_folder/.htpasswd user_name
Объяснение по порядку:
- Ключ "-c" означает создание файла при его отсутствии. Значение всех параметров можно посмотреть в документации htpasswd
- Обратите внимание на директорию для хранения файла: "/path_to_folder/.htpasswd". Желательно чтобы она находилась вдалеке от сайта, чтобы было сложнее достать файл и подобрать пароль. Не стоит класть файл "htpasswd" с паролем в корневую папку сайта.
- "user_name" необходимо заменить на логин.
- После ввода команды попросят задать пароль и подтвердить
В примере статьи можно поменять адрес папки "/secret/" на адрес файла, чтобы защитить паролем файл сайта. К примеру, "/secret/page.php"