Приднестровская поддержка XOOPS
Ограничить доступ к определенной папке можно с помощью следующих директив:
□ AuthType задает тип аутентификации. Параметр Basic указывает на базовую аутентификацию по имени пользователя и паролю:
AuthType Basic
□ AuthName определяет текст, который будет отображен во всплывающем окне запроса:
AuthName "Restricted area"
□ AuthUserFile указывает местоположение файла паролей;
□ AuthGroupFile определяет местоположение файла групп;
□ Require задает дополнительные требования, которые должны быть выполнены для предоставления доступа. Могут быть указаны следующие параметры:
• valid-user— доступ предоставляется любому пользователю, имя которого задано в файле, указанном директивой AuthUserFile, при условии правильно введенного пароля;
• users — доступ разрешается только указанным пользователям;
• groups — доступ разрешается только указанным группам пользователей.
Ограничить доступ к определенной папке можно двумя способами:
□ добавив код в файл конфигурации сервера (httpd.conf). При помощи раздела <Directory> необходимо указать путь к защищаемой папке:
<Directory "C:/Apache2/htdocs/test">
AuthType Basic
AuthName "Restricted area"
AuthUserFile "C:/Apache2/data/pass.conf"
<Limit GET POST>
Require valid-user
</Limit>
</Directory>
□ разместив в защищаемой папке файл .htaccess с такими директивами:AuthType Basic
AuthType Basic
AuthName "Restricted area"
AuthUserFile "C:/Apache2/data/pass.conf"
<Limit GET POST>
Require valid-user
</Limit>
На виртуальном хостинге доступен только второй способ, предполагающий использование файла .htaccess. Чтобы использовать этот файл на своем локальном компьютере, необходимо включить его поддержку в главном файле конфигурации, так как по умолчанию использование файла .htaccess запрещено. Для этого находим раздел
<Directory "C:/Apache2/htdocs">
.....
</Directory>
Внутри раздела находим директиву
AllowOverride None
и меняем ее значение на
AllowOverride All
Сохраняем файл и перезапускаем сервер Apache, чтобы изменения вступили в силу. Затем открываем Notepads и набираем приведенный ранее код. Сохраняем набранный текст под названием .htaccess, предварительно создав папку (например, test) в C:\Apache2\htdocs. Создаем любой HTML-документ
и сохраняем его в папке test под именем index.html. Содержимое этого файла будет отображаться при успешном входе в папку.
Теперь создадим файл паролей. Для этого создадим папку data в C:\Apache2. Обратите внимание, мы будем сохранять файл вне корневого каталога документов сервера. Файл паролей не должен быть доступен через Web-интерфейс.
Для создания файла паролей (pass.conf) можно использовать программу htpasswd.exe, расположенную в папке bin (C:\Apache2\bin). Для выполнения программы необходима командная строка. Например, можно воспользоваться файловым менеджером Far (рис. 1). Запускаем Far и переходим в папку C:\Apache2\bin.
Рис. 1 Програма Far
В командной строке должно быть приглашение
C:\Apache2\bin>
Убираем правую панель с помощью комбинации клавиш <Ctrl>+<F2>, затем левую с помощью <Ctrl>+<Fl> (можно убрать сразу обе панели, нажав <Ctii>+<0>). В строке приглашения набираем команду, которая создаст файл C:\Apache2\data\pass.conf и добавит в него информацию о пользователе userl:
htpasswd -c C:\Apache2\data\pass.conf user1
Нажимаем клавишу <Enter>. В итоге появится приглашение ввести пароль:
C:\Apache2\bin>htpasswd -c C:\Apache2\data\pass.conf user1
New password:
Вводим пароль (например, "pass1") и нажимаем <Enter>. Программа попросит повторить пароль:
C:\Apache2\bin>htpasswd -c C:\Apache2\data\pass.conf user1
New password: *****
Re-type new password:
Повторяем и нажимаем <Enter>:
C:\Apache2\bin>htpasswd –c C:\Apache2\data\pass.conf user1
New password: *****
Re-type new password: *****
Adding password for user user1
В итоге будет создан файл pass.conf в папке data со следующими данными:
user1:$apr1$aHILz78R$WGtZzC8LKrlMoPednMPKv.
Как видим, пароль pass1 в этом файле не присутствует, точнее, присутствует в зашифрованном виде. Тем не менее, чтобы увеличить безопасность сервера, файлы с паролями следует сохранять в директориях, не доступных извне, как мы и сделали.
Попробуем теперь создать пароль для еще одного пользователя. Для этого в командной строке набираем:
htpasswd -b C:\Apache2\data\pass.conf user2 pass2
Обратите внимание: вместо флага -с мы использовали флаг -b, а также указали пароль сразу после имени пользователя. Если использовать флаг -с, то файл будет перезаписан, и соответственно вся старая информация будет удалена. После нажатия <Enter> информация о новом пользователе и его пароле будет добавлена в конец файла pass.conf, который будет выглядеть так:
user1:$apr1$aHILz78R$WGtZzC8LKrlMoPednMPKv.
user2:$apr1$8b8txNZ1$WoIOkGnA.UjJaWOeOo7hK/
Открываем Web-браузер и в адресной строке набираем:
http://localhost/test/
Если все сделано правильно, то при попытке открыть любой документ в этой папке будет выведено окно для ввода пароля (рис. 2).
Рис. 2 Окно для ввода пароля
Отправитель | Нити |
---|
9 пользователь(ей) активно (3 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 9 далее... |