Доступ к web-странице на сервере Apache с паролем
Иногда встает вопрос, как сделать так, чтобы некоторый контент на вашем web-сервере под управлением Apache был скрытым, (“не для всех”), а доступ осуществлялся по паролю. У меня такая необходимость возникла для того, чтобы скрыть от лишних любопытных глаз пользователей полную статистику посещений другими пользователями ресурсов интернета, которую для меня собирает lightsquid. |
Некоторое отступление: на этом же сервере стоит SAMS, вот пусть там они и смотрят, сколько именно они накачали за день ;) Но это тема для отдельной статьи.
Итак, все очень просто. Нам необходимо найти или создать в папке с документами страницы на вашем web-сервере к которой вы хотите сделать доступ по паролю вот такой файл: .htaccess. Т.е. /path to folder/.htaccess
В него надо написать следующие магические строки:
AuthType Basic AuthName "Get out!" AuthUserFile /usr/local/www/lightsquid/.htpasswd require user Stat
Что же это все означает?
— в первой строке мы указали, какой тип аутентификации надо произвести.
— во второй строке указано наименование зоны, в которую надо пройти аутентификацию (написать можно любую строку).
— в третьей строке указан полный путь к файлу, где будут храниться пара login:password. Логин в открытой виде, пароль в зашифрованном виде.
— в четвертой строке указан логин, под которым необходимо пройти аутентификацию.
Теперь надо задать пароль системе с указанием файла, в котором надо хранить пароль. В командной строке набираем:
# htpasswd -c /usr/local/www/lightsquid/.htpasswd Stat
и нажимаем ввод. Вводим необходимый пароль и подтверждаем его. В случае успешной операции команда выдаст сообщение Adding password for user Stat. Значит файл создан и пароль в него записан. Ключ -c команды htpasswd указывает на создание (при отсутствии) или перезаписи существующего файла с паролем.
Все, теперь пробуем получить доступ к странице статистики на нашем web-сервере. Apache перезапускать не надо. При попытке доступа к страничке, появится окошко с заглавием, которое вы указали во второй строке файла .htaccess и запросом логина и пароля.
Рис.1 (если вы пользуетесь браузером Internet Explorer)
Рис.2 (если вы пользуетесь браузером Mozilla Firefox)
Только при указании этой пары теперь можно попасть на данную страничку.
Это если бегло. Если вам интересен сам процесс происходящего в момент аутентификации на странице, советую почитать следующие статьи:
- Что такое аутентификация и авторизация.
- Что происходит при процессе аутентификации/авторизации.
- Или же эту статью в оригинале про контроль доступа на сервере под управлением Apache.
Что-то не работает…