Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Привет.лв Главная Справка Поиск Вход Регистрация
Страниц: 1
Печать Bookmark and Share
Удалить этот блок рекламы?
Удали рекламу
Прикрытие паролем веб + папки (Прочитано 1339 раз)
ХАНЫЧ
Уважаемый
*****
Вне Форума

Life's Good...

Сообщений: 387
Latvia>Riga>Kenga
Пол: male
Прикрытие паролем веб + папки
05.02.2007 :: 23:13:39
 
Несовсем в тему, но нашёл, как открыть доступ на сайт через  .htaccess: при введении пароля тока пускают


.htaccess можно использовать и для установки пароля на доступ к определенным страницам или разделам вашего сайта. Делается это путем создания в нужном подкаталоге файла .htaccess, в который пишется следующее:
Код:
AuthType Basic
AuthName "this is a test of protected realm"
AuthUserFile /path/to/file/with/passwords
<Limit GET POST>
require valid-user
</Limit> 


Кроме того, нужно создать файл с паролями, путь к которому указывается в качестве параметра к директиве AuthUserFile. Пароли в этом файле должны быть шифрованными, чего можно достигнуть с помощью программы htpasswd, входящей в поставку Apache. Если Вы набрали в unix shell команду htpasswd и система сообщила, что такого файла нет, выясните у своего хостинг-провайдера где же находится htpasswd. Пользователи Windows могут скачать этот файл: htpaswd.zip. Однако, допустим, htpasswd у нас доступен:
Код:
> htpasswd
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile username password
-c Create a new file. 


Здесь не будут рассматриваться все параметры этой команды, но вы можете сами прочитать подробности, запустив htpasswd в unix shell или ознакомившись с соответствующей страницей документации по Apache.
Итак, изначально у нас еще нет файла с паролями и нам нужно его создать :
Код:
> htpasswd -c passwords test1
New password:
Re-type new password:
Adding password for user test1
> 


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


А теперь мы хотим добавить еще одного пользователя. Так как файл с паролями у нас уже есть, мы просто не будем использовать ключ '-c' :
Код:
> htpasswd passwords test2
New password:
Re-type new password:
Adding password for user test2

> cat passwords
test1:zgco1KREjBY8M
test2:eN3uA6t0kzV1c
> 


Сейчас попробуйте обратиться к тому каталогу, в котором мы размещали .htaccess – браузер спросит у вас пароль, чего мы и добивались. Пока не будет введен правильный логин и пароль, посетитель не увидит соответствующей страницы.
В качестве параметра к директиве require мы указали valid-user. Это означает, что любой пользователь, который есть в используемом файле с паролями, может иметь доступ к защищенному ресурсу. Однако, согласитесь, удобно иметь все пароли в одном файле, а права на конкретные ресурсы давать только определенным пользователям. Это тоже реализуемо. Например, мы хотим дать доступ только пользователю test2. Делаем так :
require user test2
Еще можно объединить пользователей в группы и давать доступ не конкретным логинам, а группам. Это можно сделать с помощью директивы AuthGroupFile:
AuthGroupFile /path/to/file/with/groups
В файле /path/to/file/with/groups создаем группы примерно так :
Код:
group1: test1 test5
group2: test2 test4
group3: test1 test3 


Соответственно, директиву require будем использовать так :
Код:
require group group3 


Механизмы ограничения доступа, которые реализованы в Apache, позволяют очень гибко управлять правами для пользователей и групп, что является очень важной возможностью. Если углубиться в изучение предмета, Вы сможете узнать и то, что логины и пароли, используемые для авторизации, можно хранить не только в файлах, но и в простейших базах данных формата BerkeleyDB - почитайте документацию по директиве AuthDBGroupFile. Также для хранения данных авторизации можно использовать практически любую СУБД (MySQL или PostgreSQL), но это уже выходит за рамки данного пункта.
Для тех, кто скачал htpaswd.zip: чтобы поставить пароль на какую-либо папку выполните (в принципе, об этом было рассказано выше, но, как говорится, повторение – мать его;)) следующее:
Создайте файл .htaccess в папке, которую нужно прикрыть паролем примерно такого содержания:
Код:
AuthType Basic
AuthName "Введите логин и пароль"
# Путь к файлу с паролями .htpasswd
AuthUserFile Путь/.htpasswd
require valid-user 


Теперь, собственно, о создании файла .htpasswd: распакованный htpaswd.exe кидаем в удобную директорию (лучше в корень диска) и лезем в Start (Пуск) > Run (Выполнить) > command. Затем переходим в нашу директорию (надеюсь, не надо напоминать, что это делается командой cd… вот и хорошо, что не надо;)) и пальчиками набиваем:
Z:\htpasswd -c -m -b .htpasswd admin pass, где admin – ваш логин, pass – пароль.
Нажмите «Enter». Теперь на диске Z:\ должен появится файл .htpasswd. Переместите его в ту папку, путь до которой указали в файле .htaccess (Путь/.htpasswd). Все! Ваша папка прикрыта паролем!

* ХАНЫЧ
Наверх
 
 

Профессиональный оптимист!
WWW   IP записан
Страниц: 1
Печать Bookmark and Share
www.privet.lv

Privet.lv/forum » Powered by YaBB 2.2.3 (fix)!
YaBB © 2000-2012. Все права защищены.
Valid RSS Valid XHTML Valid CSS Powered by Perl Source Forge