Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Apache: доступ по паролю

Поиск:
Директива <Auth*>

Сервер Apache предоставляет возможность реализации доступа к отдельным каталогам по паролю. Это осуществляется при помощи установок в глобальном файле конфигурации, либо в пользовательских файлах .htaccess . Чтобы защитить каталог паролем, необходимо задать значения в трех различных директивах: AuthName , AuthType и AuthUserFile . Использование четвертой директивы, AuthGroupFile , не является обязательным.

Директива AuthName должна представлять собой короткую строку, в которой выводится сообщение для пользователя. Формат второй парольной директивы, AuthType , еще проще. В директиве AuthType задается метод идентификации пользователя, используемый сервером, разрешается указывать только два значения, Basic и Digest . Если установить значение Basic , то будет использоваться стандартный для UNIX механизм парольной защиты, а также директива AuthUserFile . Если задать в директиве AuthType значение Digest , то будет задействована более надежная система шифрования, алгоритм MD5. На большинстве Web-серверов не стоит использовать установку Digest , поскольку эта возможность пока не поддерживается большинством броузеров. В директиве AuthUserFile , используемой только при выбранном методе Basic, задается полный путь в файловой системе сервера Apache к файлу паролей пользователей для данного каталога. Для создания файла паролей применяется программа htpasswd . Например, новый файл паролей для пользователя new_user создается при помощи следующей команды:

Код

htpasswd -с /html/secured/.htpasswd new_user
Adding password for new_user.
New password:
Re-type new password:


Опция -с указывает программе htpasswd, что следует создать новый файл паролей. Если эта опция опущена, программа пытается отредактировать существующий файл паролей. После того как задан требуемый метод идентификации пользователей, можно воспользоваться для парольной защиты каталога еще одной директивой, AuthGroupFile . Файл, указанный в этой директиве, должен содержать список групп и пользователей, перечисленных в файле AuthUserFile , являющихся членами этих групп, например:

Код

group: new_user qwerty asdf zxcvb


Такая строка создает на сервере Apache парольную группу group с 4 пользователями.

Директива <Limit>
Данная директива используется для наложения ограничений доступа к файлам в каталоге по протоколу HTTP. Директиву <Limit> можно использовать в пользовательском файле .htaccess (если этому не препятствует значение, указанное Вашим хостером в файлах глобальной настройки в директиве AllowOverride ). Директива <Limit> принимает в качестве аргументов один или несколько методов HTTP, к которым применимы следующие четыре директивы, используемые внутри секции <Limit>:

Код

deny (отказать), allow (разрешить), order (порядок) и require (потребовать).


Директивы deny и allow дают возможность задавать, каким компьютерам и доменам разрешен доступ к данным каталогам. Синтаксис этих директив одинаков, за каждой из них следует слово from и список компьютеров, которым сервер должен запретить или, наоборот, разрешить доступ к каталогу. В этот список можно включать:
  • названия доменов, например baks.com или top.org.
  • названия хостов, например first.baks.com или only.top.org.
  • IP-адреса хостов, например 165.23.42.235.
  • IP-адреса доменов, например 125.23.42.32
  • слово all, означающее все хосты.

В директиве order задается порядок, в котором сервер Apache рассматривает директивы deny и allow . Существуют три допустимых значения:
  • deny,allow. Сначала сервер рассматривает директиву deny, а затем allow.
  • allow,deny. Сначала сервер рассматривает директиву allow, а затем deny.
  • mutual-failure. Сервер отказывает в доступе всем компьютерам, явно не указанным в списке allow.
  • require. Ее можно использовать для установления парольной защиты каталога. За названием директивы должен следовать список элементов. Этими элементами могут служить имена пользователей или названия групп, заданные в директивах AuthUserFile или AuthGroupFile . Можно также воспользоваться ключевым словом valid-user , указывающим серверу, что любому пользователю, имя которого присутствует в директиве AuthUserFile , должен быть предоставлен доступ в случае ввода им правильного пароля.

Ниже приведен пример файла .htaccess , разрешающего доступ только авторизованным пользователям домена one.info:

Код

AuthUserFile /home/users/baks/www/secure/.htpasswd
AuthName SecurityTest
AuthType Basic
<Limit GET>
order deny,allow
allow from one.info
require valid-user
</Limit>


Сервер вычисляет значение директивы <Limit> в следующей последовательности:
  • Запрещает любой доступ, кроме указанного в директиве allow.
  • Разрешает доступ пользователям из домена one.info.
  • Требует от пользователей из этого домена ввода имени и пароля, хранящихся в файле /home/users/baks/www/secure/.htpasswd

Если запрос прошел все эти проверки, то по нему будут предоставлены файлы из данного каталога.
Автор: apm.izkom.ru
Сайт: http://apm.izkom.ru






Просмотров: 4800

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную