29 ноя 2012
Защищаем админку.
leadner Категория: Web-Мастеру » Уроки
У нас вы можете скачать бесплатно Защищаем админку.

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Защищаем админку.

В этом уроке я расскажу Вам, как защитить админку с помощью файла .htaccess

              AuthName "Текст выводится в окне авторизации"
    AuthType Basic
    AuthUserFile абсолютный/путь/к/файлу/.htpasswd
    require valid-user




AuthName – текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки.

AuthType - типы аутентификации: Basic или Digest. Рекомендуется использовать первый, т.к. второй поддерживается не всеми браузерами.

AuthUserFile - полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, это необходимо, чтобы предотвратить кражу паролей.

require valid-user – директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.

Где можно реализовать?

Авторизацию можно прикрутить к любой директории вашего сайта, будь то корень, либо папка из иерархии. Очень часто можно встретить защиту с помощью .htaccess, для входа в “Панель управления” сайтом. Также с помощью этой технологии можно ограничить доступ к папкам, где лежат конфиденциальные данные.

Итак, давайте создадим директорию с названием CMS (можете выбрать любое название). В ней будут находиться: файл конфигурации .htaccess и файл с паролями .htpasswd., а также все остальные файлы и папки, к которым вы хотите сделать ограниченный доступ.

Таким образом, готовый файл .htaccess, будет содержать следующие директивы:
    AuthName "Authentication"
    AuthType Basic
    AuthUserFile Z:/home/localhost/www/scripts/CMS/.htpasswd
    require valid-user


Создание файла .htpasswd

Переходим к созданию файла с паролями . htpasswd, для этого воспользуемся утилитой htpasswd.exe. Работать с которой нужно через командную строку. Далее рассмотрены примеры работы с утилитой:



• Создать новый файл с паролями, назначить ему имя .htpasswd, задать шифрование паролей по алгоритму MD5 и добавить в него логин admin:
    htpasswd -cm .htpasswd admin




-cm - ключи утилиты:

– указывает, что необходимо создать новый файл

-m –шифрует пароли по алгоритму MD5

.htpasswd – имя файла с паролями

admin – логин

• Добавить в уже существующий файл с паролями нового пользователя. Для этого нужно в команде указать один ключ –m, ключ –c, опустить:
htpasswd -m .htpasswd user


• Чтобы изменить пароль для существующего пользователя, используйте ту же команду, что и при добавлении.
htpasswd -m .htpasswd user


После создания файла с паролями, поместите его в директорию, путь к которой указан в директиве AuthUserFile файла .htaccess. (в нашем случае в папку CMS)

Доступ к данным авторизации, через переменные массива $_SERVER

После успешного прохождения аутентификации, логин и пароль, вбитые пользователем, помещаются в суперглобальный массив$_SERVER, который можно обрабатывать с помощью php скрипта.
$_SERVER["PHP_AUTH_USER"] – логин;
$_SERVER["PHP_AUTH_PW"] – пароль;

Результат

Теперь если вы перейдете в браузере в папку, где лежит конфигурационный файл .htaccess, вы получите всплывающее окно, где нужно вбить логин и пароль. При успешной авторизации доступ к папке будет открыт.

Скачать утилиту htpasswd.exe можно здесь. Скачать









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.