November 30, 2009

Как запаролить папку в .htaccess при помощи .htpasswd?

Если Вам необходимо воспользоваться встроенным в Apache механизмом ограничения доступа к какой-лиюо конкретной директории путём установки на неё пароля, проделайте следующие операции:
  1. Скачайте htpasswd.exe и сохраните его в домашнюю директорию своего пользователя на компьютере (что-то вроде C:\Documents and Settings\%username%). Я рекомендую именно в домашнюю директорию с тем, чтобы запустив консоль Вам не пришлось добираться до htpasswd.exe командами типа cd и т.д., а сразу запускать и работать.
  2. Запустите консоль Windows (командную строку): нажмите в Пуске «Выполнить» или комбинацию клавиш Windows+R и введите cmd.
  3. Далее предполагается что файл htpasswd.exe расположен в текущей директории терминала, т.е. в домашней директории активного пользователя. Введите в терминал команду
    htpasswd -cm .htpasswd %username%
    где -cm — это ключи для утилиты: ключ с указывает что необходимо создать новый файл с паролями (если файл с таким именем уже существует, то он будет перезаписан), а ключ m определяет шифрование по алгоритму MD5; .htpasswd — стандартное имя файла с паролями (можете использовать любое имя); %username% — имя посетителя, которому будет разрешен доступ в закрытую область сайта.
  4. Загрузите получившийся .htpasswd на сервер. Запомните путь к нему (пусть это будет, скажем, %path%).
  5. Создайте/обновите в директории, которую надо запаролить, файл .htaccess со следующим содержимым:
    AuthType Basic
    AuthName "Authorisation required!"
    AuthUserFile /%path%/.htpasswd
    require user %username%
  6. ???
  7. PROFIT :)

Использованы материалы http://softtime.ru/info/apache.php?id_article=27

No comments: