Паролирование директорий на сайте
Один из подписчиков рассылки «Разработка сайтов на php + mysql” обратился ко мне с просьбой помочь установить на своем сайте скрипт phpMyAdmin (для работы с базами mysql). Одна из рекомендаций, которые я ему дал, - закрыть паролем доступ к директории, в которую установлен пакет.
Многие веб-мастера сталкиваются с необходимостью ограничивать доступ к каким-либо данным на сайте, поэтому, возможность предоставления доступа к отдельным директориям по паролю весьма полезна. Например, можно закрыть паролем доступ к директории, где находится скрипт для администрирования сайта.
Сейчас практически на всех хостингах (бывают и досадные исключения) имеется возможность выполнять необходимые настройки через админпанели (скрипты для администрирования сайта – Cpanel, DirectAdmit, Plesk и др.) Хорошая админпанель предоставляет массу возможностей, в том числе и возможность паролирования директорий. Тем не менее, иногда приходится это делать вручную.
Для этого нам понадобится программа для создания файла паролей. Если на вашем компьютере установлен веб сервер apache, то эта программа у вас уже есть – htpasswd.exe (для Windows). Если нет, то вы можете скачать ее.
Создаем файл паролей
htpasswd.exe –c .htpasswd имя_пользователя
.htpasswd – стандартное имя файла паролей. Можно выбрать другое, однако я не вижу причин для этого. Тем более что на сайте могут быть выполнены настройки, запрещающие прямой доступ к файлу с именем .htpasswd.
Программа попросит вас ввести, и затем подтвердить пароль для этого пользователя. При вводе имени пользователя и пароля не используйте кириллицу.
При необходимости можно ввести несколько пользователей, только не используйте ключ –с
htpasswd .htpasswd другое_имя_пользователя
Допустим что директория вашего аккаунта на хостинге следующая
/home/username/
а корневая директория сайта
/home/username/html_doc
На сайте находится папка private - http://site.com/private, которую нужно закрыть паролем. Путь к этой директории на сервере следующий
/home/username/html_doc/private
Помещаем файл паролей в директорию
/home/username
Почему не в /home/username/ html_doc? Да потому что через сайт директория /home/username недоступна. Безопасности никогда не бывает много.
Теперь создаем в директории, которую нужно закрыть паролем файл .htaccess (конечно если его там нет) и вносим в него следующие строки:
AuthName “Private Direvtory”
AuthType Basic
<Limit GET POST PUT>
require valid-user
</Limit>
AuthUserFile /home/username/.htpasswd
Параметр AuthUserFile указывает на ваш файл паролей. Если вы дали файлу паролей другое имя или поместили в другую директорию, соответственно изменить эту строчку.
Пример работы можете посмотреть по этому адресу:
http://webcorp.ru/private
Логин – user
Пароль – 123
Вот собственно и все.
<< предыдущая
||
следующая >>
|
|
|
Автор: Выдренко Алексей
Ресурс: www.webcorp.ru |
Сообщить другу
|