• Категории
  • Подписка
  • Разместить статью
05/02/10 19 10013 Настройка файла .htaccess     
-

Пароль на папку .htaccess

passwd_folder_securos.org.uaЛично я использую .htaccess для паролирования папок своего сайта. Хороший пароль – залог безопасности, это аксиома!

Для начала рассмотрим пример, а потом поясним что это значит:

AuthName «Protected area, need authorization»

AuthType Basic

AuthUserFile /home/t/test/.authfile

require valid-user

Данный файл нужно положить в ту директории, на которую мы хотим поставить пароль.

Директива AuthName выводит сообщение при запросе пароля, все сообщения необходимо писать в одну строчку, синтаксис директивы тривиален:

AuthName «SEE TEXT»

Директива AuthType выбирает тип аутентификации. Возможны следующие типы: Basic или Digest. Второй может не поддерживаться некоторыми браузерами, поэтому пользоваться им не рекомендуется.

AuthType Basic | Digest

AuthUserFile указывает имя файла с паролями для аутентификации пользователей (пароли в этом файле будут шифрованными). Путь к файлу с паролями задается относительно корня веб-сервера. Храните файл с паролями в папке, доступ к которой закрыт для пользователей — (желательно поместить этот файл вне иерархии вашего веб-сайта — это очень важный момент, так как сломать его будет достаточно тяжело, потому что всю ответственность за его безопасность Вы переложите на товарища Хостинг-провайдера с его фаерволами и системами защиты).

Создать данный файл можно двумя способами. Если у Вас установлена операционная система семейства Windows вы можете скачать отсюда программу которая генирирует данный файл. Либо подключится к серверу по SSH и воспользоваться утилитой htpasswd. Либо воспользоваться той же утилитой, входящей в поставку web-сервера Apache (в случае если он установлен, если нет качайте тут для Win), c помощью командной строки Windows ввести: htpasswd.exe -cm .htpasswd admin, где:

-cm – это команды на создание файла с использованием MD5;

.htpasswd – имя файла, который будет создан;

admin – имя пользователя.

После запуска Вам будет выдан запрос на ввод пароля и подтверждение. В результате будет создан файл .htpasswd примерно такого содержания:

admin:$apr1$9o0…..$3nAi6rAX1RtHDzL7PPW/i/

что соответствует логину – admin и паролю – password.

Кстати таким образом можно закрывать не только директории, но и отдельные файлы или группы файлов. При добавлении пользователя в существующий файл команду –cm нужно изменить на –m.

В случае подключения к серверу по SSH и использования утилиты htpasswd без параметров мы увидим:

kjan ~ # htpasswd

Usage:

htpasswd [-cmdps] passwordfile username

htpasswd -b[cmdps] passwordfile username password

-c Create a new file.

kjan ~ #

Здесь не будут рассматриваться все параметры этой команды, но вы можете сами прочитать подробности, запустив htpasswd в unix shell или ознакомившись с соответствующей страницей документации по Apache.

Итак, изначально у нас еще нет файла с паролями и нам нужно его создать:

kjan ~ # htpasswd -c authfile test1

New password:

Re-type new password

Adding password for user test1

kjan ~ #

После выполнения данной операции htpasswd создаст файл passwords, в котором окажется пользователь test1 и его пароль в зашифрованном виде:

kjan ~ $ cat .authfile

test1:zgco1KREjBY8M

kjan ~ $

А теперь мы хотим добавить еще одного пользователя. Так как файл с паролями у нас уже есть, мы просто не будем использовать ключ «-c» :

kjan~ # htpasswd .authfile test2

New password:

Re-type new password:

Adding password for user test2

kjan~ $ cat .authfile

test1:zgco1KREjBY8M

test2:eN3uA6t0kzV1c

kjan~ $

Вернемся к описанию директив паролирования директорий. Директива Require определяет пользователей, которые могут получить доступ

Require USER_NAME | valid-user

Указывая valid-user вы разрешаете доступ всем пользователям, перечисленным в файле паролей.

Приведем пример для доступа определенных пользователей из файла с паролями .htpasswd

AuthName «Protected area, need authorization»

AuthType Basic

AuthUserFile /home/t/test/.authfile

require Alexey Kondr Fenix

Так же как и с запретом доступа по IP здесь можно использовать расширение <Files> ниже приведены два примера: установки пароля на группу файлов и на один определенный файл.

<Files «passwd.html»>

AuthName «Protected area, need authorization»

AuthType Basic

AuthUserFile /home/t/test/.authfile

require valid-user

</Files>

<Files «\.(key)$»>

AuthName «Protected area, need authorization»

AuthType Basic

AuthUserFile /home/t/test/.authfile

require valid-user

</Files>

Следует помнить, что при таком ограничении доступа пароли передаются по каналам связи в открытом виде и при определенных обстоятельствах могут быть перехвачены злоумышленниками. Поэтому в целях безопасности рекомендуется организовывать доступ к закрытым областям веб-сайта через защищенное SSL-соединение.

З.Ы.: Разыскивается автор первоисточника!-) Если кто-то что-то слышал, или видел пишите в коммент…


19 комментариев на «“Пароль на папку .htaccess”»

  1. Спасибо за отличную иллюстрацию процесса паролирования. Хотя уже и сам дошёл по мануалам, но добавил в закладки на всякий случай :)

  2. Очень подробный обзор! Автору респект! Если бы в универе все так подробно и с примерами преподавалось…

  3. Долго искал эту инфу! Спасибо!

  4. Выборка:

    Что-то наподобие у меня уже месяц из головы не выходит!

  5. pupkin2:

    Действительно очень хороший блог , хотя бы потому , что ничего выдумывать не нужно , смотри на инструкцию и делай ручками .
    Добавил в закладки , спс автору.

Добавить комментарий

Яндекс.Метрика