Ограничение доступа к Web-ресурсу

Часто возникает необходимость предоставить доступ к ресурсу не всем поль- зователям, а только тем, кто прошел процедуру аутентификации. Естествен- но, для этого необходимо иметь механизм для накопления сведений о зареги- стрированных пользователях системы.

Простейшим методом обеспечения этого является подключение модуля

mod_auth.c.

Для аутентификации пользователей размещают специальный файл .htaccess в каталоге, к которому требуется ограничить доступ. В файле конфигурации Apache для этого должна присутствовать строка, приведенная в примере 28.11.

 

Пример 28.11. Указание имени файла управления доступом

 

AccessFileName .htaccess

 

В контейнере, связанном с защищаемым ресурсом, должно быть разрешение изменять правила аутентификации, что достигается с помощью директивы AllowOverride AuthConfig. Так, например, для ограничения доступа к катало- гу /var/www/html/secret можно организовать в соответствии с примером 28.12.

 

Пример 28.12. Разрешение изменять правила аутентификации

 

<Directory /var/www/html/secret> Options Indexes FollowSymLinks AllowOverride AuthConfig

</Directory>


 

В этом примере наиважнейшей является настройка AllowOverride AuthConfig, т. к. она разрешает изменять правила аутентификации, указывая их в файле конфигурации .htaccess. Файл .htaccess должен быть размещен в защищаемом каталоге и должен быть доступен только для чтения пользователю, от имени которого запускается Apache.

При использовании простого метода аутентификации, основанного на наличии файла, в котором находятся имена авторизованных пользователей и их пароли, в файл .htaccess следует поместить строки, показанные в примере 28.13.

 

Пример 28.13. Защита ресурса паролем

 

AuthName "Unauthorized access is strongly prohibited!" AuthType Basic

AuthUserFile /etc/httpd/htpasswd Require valid-user

 

Директива AuthName позволяет задать сообщение, выводимое в диалоговом окне аутентификации при попытке доступа к этому ресурсу. Директива AuthType задает тип аутентификации с использованием передачи паролей, закодированных uuencode. Этот способ прост, но не безопасен. Файл, в кото- ром хранятся имена пользователей и зашифрованные пароли, указывается с помощью директивы AuthUserFile.

Файл, содержащий имена авторизованных пользователей, может быть создан с помощью команды htpasswd. Эта утилита позволяет задавать пароли для пользователей защищаемого ресурса (пример 28.14).

 

Пример 28.14. Сохранение имен пользователей и паролей

 

# htpasswd -c /etc/httpd/htpasswd webuser New password:

Re-type new password:

Adding password for user webuser

# htpasswd /etc/httpd/htpasswd weberus New password:

Re-type new password:

Adding password for user weberus

 

# cat /etc/httpd/htpasswd webuser:Zi6v4CjM7y5J2 weberus:83Ygmk1dHcLzM


 

Обратите внимание, что при первом вызове команды htpasswd была исполь- зована опция -c для создания файла паролей. При последующем использо- вании этой команды опцию -c устанавливать не надо, т. к. она сотрет файл паролей.

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

 








Дата добавления: 2015-06-12; просмотров: 548;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.