Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Паролирование директорий на сайте с помощью файла .htaccess

Файл .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 указывает на имя файла с паролями для аутентификации пользователей (пароли в этом файле будут шифрованными). Путь к файлу с паролями пишется относительно корня веб сервера Apache. Хранить файл с паролями надо в папке, доступ к которой закрыт для пользователей (лучше поместить этот файл за пределами вашего сайта).

Если у Вас установлена операционная система Windows, Вы можете подключится к серверу по SSH и воспользоваться утилитой htpasswd

Запустив htpasswd без параметров мы увидим:

host@user ~ # htpasswd
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password
-c Create a new file.
host@user ~ #

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

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

host@user ~ # htpasswd -c authfile test1
New password:
Re-type new password
Adding password for user test1
host@user ~ #

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

host@user ~ $ cat .authfile
test1:zgco1KREjBY8M
host@user ~ $

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

host@user ~ # htpasswd .authfile test2
New password:
Re-type new password:
Adding password for user test2

host@user ~ $ cat .authfile
test1:zgco1KREjBY8M
test2:eN3uA6t0kzV1c
host@user ~ $

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

Require USER_NAME | valid-user

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

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

AuthName "Protected area, need authorization"
AuthType Basic
AuthUserFile /home/t/test/.authfile
require palexa vasa igor

Также, как и с запретом доступа по 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-соединение.

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

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


Защитный код
Обновить