12 февраля 2020 Разное
Защитить паролем любой раздел на сайте можно с помощью средств самого сервера Apache. Защита простая и надежная. Делается это с помощью файлов .htaccess и .htpasswd, которые помещаются в папку, где необходима аутентификация.
Файл .htaccess
В нужной папке создаем файл .htaccess с помощью FTP-клиента. Непосредственно в Windows создать файл не получится, так как система будет ругаться на пустое название, ведь в ОС Windows до точки идет название, а после расширение файла. Таким образом Windows этот файл воспринимается с расширением .htaccess и пустым названием.
Открываем файл на редактирование в любом текстовом редакторе и записываем в него следующие строки:
AuthType Basic AuthName admin require valid-user
Где admin
— это логин, который будет использоваться для авторизации. Сохраняем файл на сервере.
Дополнительные настройки
AuthType — тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
AuthName — имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: «Private zone. Only for administrator!»
AuthUserFile — путь к файлу с паролями (.htpasswd).
AuthGroupFile — путь к файлу групп, если он существует.
Require — одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
Файл .htpasswd
Теперь необходимо создать файл с паролем. Если вы работаете из под ОС Windows, то для этого вам понадобится специальная утилита. Скачать можно здесь.
Запускаем командную строку: Пуск → Выполнить, вводим cmd
и ОК. Теперь необходимо перейти в директорию с файлом htpasswd.exe. Например командой cd C:\
.
И ввести следующую команду:
htpasswd -cm .htpasswd admin
Данная команда устанавливает пароль для пользователя admin. В ответ будет запрошен желаемый пароль и повтор. Если все верно, то в этой директории будет создан нужный нам файл .htpasswd. Добавляем его рядом с файлом .htaccess лежащим на сервере.
Если в существующий файл необходимо добавить ещё одного пользователя, то вводим следующую команду:
htpasswd -m .htpasswd admin2
Где admin2
— логин нового пользователя. И не забываем перезаписать файл на сервере.
Теперь, если попробовать зайти в раздел, будет запрошен логин и пароль: