Как установить .htaccess пароль на папку c .htpasswd
12 февраля 2020 Разное
Защитить паролем любой раздел на сайте можно с помощью средств самого сервера Apache. Защита простая и надежная. Делается это с помощью файлов .htaccess и .htpasswd, которые помещаются в папку, где необходима аутентификация.
Файл .htaccess
В нужной папке создаем файл .htaccess с помощью FTP-клиента. Непосредственно в Windows создать файл не получится, так как система будет ругаться на пустое название, ведь в ОС Windows до точки идет название, а после расширение файла. Таким образом Windows этот файл воспринимается с расширением .htaccess и пустым названием.
Открываем файл на редактирование в любом текстовом редакторе и записываем в него следующие строки:
AuthType Basic AuthName admin require valid-user
Где admin
— это логин, который будет использоваться для авторизации. Сохраняем файл на сервере, например таком, как индивидуальные тренировки по боксу харьков.
Чтобы не потерять логины и пароли от аккаунтов и данные учетных записей, можно, к примеру, воспользоваться удобным приложением MultiPassword для хранения паролей и персональных данных. Приложение можно поставить на Windows, OSx, Linux, Android, имеет расширение для браузера и встроенный генератор надежных паролей.
Дополнительные настройки
AuthType — тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
AuthName — имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: «Private zone. Only for administrator!»
AuthUserFile — путь к файлу с паролями (.htpasswd).
AuthGroupFile — путь к файлу групп, если он существует.
Require — одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
Подборка бесплатных IT-курсов и вебинаров от Skillbox.
Бесплатные IT-курсы, нужно только пройти онлайн-тест здесь
Бесплатные вебинары здесь
Файл .htpasswd
Теперь необходимо создать файл с паролем. Если вы работаете из под ОС Windows, то для этого вам понадобится специальная утилита. Скачать можно здесь.
Запускаем командную строку: Пуск → Выполнить, вводим cmd
и ОК. Теперь необходимо перейти в директорию с файлом htpasswd.exe. Например командой cd C:\
.
И ввести следующую команду:
htpasswd -cm .htpasswd admin
Данная команда устанавливает пароль для пользователя admin. В ответ будет запрошен желаемый пароль и повтор. Если все верно, то в этой директории будет создан нужный нам файл .htpasswd. Добавляем его рядом с файлом . htaccess лежащим на сервере.
Если в существующий файл необходимо добавить ещё одного пользователя, то вводим следующую команду:
htpasswd -m .htpasswd admin2
Где admin2
— логин нового пользователя. И не забываем перезаписать файл на сервере.
Теперь, если попробовать зайти в раздел, будет запрошен логин и пароль:
Защита директории сайта паролем через .htaccess
Очень часто, во время разработки сайта либо веб сервиса появляется необходимость запретить доступ к конкретной странице либо конкретному разделу сайта (директории). Один из вариантов это сделать — использовать htpasswd.
В данном примере мы рассмотрим блокировку доступа к директории test которая находится в корне сайта.
Видео инструкция
htaccess правильно | Доступ к сайту | Ограничить доступ | UnixHost» src=»https://www.youtube.com/embed/YEkecSByujc?feature=oembed» frameborder=»0″ allow=»accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture» allowfullscreen=»»>Создание htpasswd
Первое, что нам нужно будет сделать — создать файл в котором в зашифрованном виде будут находится имена пользователей и пароли. Именно с этими данными будет производится проверка при вводе имени пользователей и пароля при получении доступа к закрытому сайту либо директории.
Для создания файла htpasswd подключается к серверу, на котором мы будем ограничивать доступ, подключаемся по SSH и выполняем следующую команду:
htpasswd -c -B /var/www/passwd/.htpasswd username
Разберем подробнее каждый ключ
-с — отвечает за создание нового файла
-B — в качестве шифрования использует алгоритм bcrypt/var/www/passwd/.htpasswd
— путь и имя создаваемого файла
username — имя пользователя
После выполнения данной команды вам необходимо будет ввести пароль который будет использоваться для данного пользователя.
Если же вы захотите добавить новых пользователей для доступа к закрытой части сайта, то вам необходимо будет выполнить следующую команду:
htpasswd -B /home/unixhost/web/.htpasswd username2
Для удаления определенного пользователя из файла используется ключ -D , указывается путь к файлу htpasswd и имя пользователя.
htpasswd -D /var/www/passwd/.htpasswd username2
После внесения пользователей установим права на доступ к данному файла, укажем, что доступ к данному файлу будут иметь все пользователи системы.
chmod 644 /var/www/passwd/.htpasswd
Установка AllowOverride в конфигурации веб сервера
Для того чтобы наша «блокировка» работала нам необходимо изменить значение у переменной AllowOverride с None на All. Для этого открываем файл конфигурации вашего вебсервера , обычно данный файл находится по адресу /etc/apache2/apache2.conf
либо /etc/apache2/conf. d/
либо /etc/apache2/sites-enabled/
Мой файл выглядит следующим образом, ваш может отличаться.
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
После внесения изменений перегружаем вебсервер
sudo service apache2 restart
Закрываем сайт/директорию в .htaccess
После создания файла htpasswd нам необходимо будет создать либо отредактировать уже имеющийся файл .htaccess .
Корневая директория сайта у меня находится по адресу /var/www/html , в данной директории находится папка test и в ней php файл который выводит информацию о версии php.
AuthName "Authentication Required" AuthType Basic AuthUserFile /var/www/passwd/. htpasswd Require valid-user
В переменную AuthUserFile указываем путь к нашему файлу который мы создавали.
Теперь если мы перейдем по адресу сайта sitename.com/test то нас попросит ввести логин и пароль.
После ввода логина и пароль мы увидим нашу страницу.
В случаи если вам нужно ограничить доступ лишь к одной странице (файлу) для этого нужно указать имя файла для доступу к которому будет запрашиваться имя пользователя и пароль
<Files admin.php> AuthName "Authentication Required" AuthType Basic AuthUserFile /var/www/passwd/.htpasswd Require valid-user </Files>
Вот таким простым способом вы можете ограничивать доступ к определенным частям вашего сайта.
Метки:allowoverridehtaccesshtpasswdlinuxпарольпароль для страницысайтсерверстраница
Как защитить паролем папку веб-сайта с помощью .htaccess
Чтобы добавить защиту паролем на ваш веб-сайт, вам нужно создать файл для хранения имен пользователей/паролей и добавить код в файл . htaccess. Это руководство покажет клиентам, использующим веб-хостинг LCN и хостинг WordPress, как быстро настроить защиту паролем.
Приступим…
Создание файла паролей
Файл паролей представляет собой простой текстовый файл, содержащий имя пользователя и пароль, разделенные двоеточием (:). Однако в целях безопасности пароль должен быть зашифрован. Существует множество бесплатных инструментов, которые зашифруют для вас пароль, но вы можете использовать наш инструмент ниже. Просто введите имя пользователя и пароль, которые вы хотите использовать, и мы сгенерируем строку текста, которую вы сможете скопировать и вставить.
- Создайте файл с помощью текстового редактора, такого как Блокнот или TextEdit.
- Сохраните файл как: .htpasswd
- Скопируйте и вставьте строку имени пользователя/пароля, сгенерированную с помощью нашего инструмента, в документ.
- Загрузите файл .htpasswd на свой веб-сайт с помощью FTP.
Обратите внимание: Инструкции по загрузке файла на ваш сайт можно найти здесь.
В целях дополнительной безопасности убедитесь, что он находится за пределами вашей веб-папки, чтобы никто не мог получить к нему доступ по адресу http://www.domain.com/.htpasswd. Наши серверы хостинга будут блокировать веб-доступ к любым файлам, начинающимся с .ht, но рекомендуется, чтобы файл паролей не находился в общедоступной папке.
Создание файла .htaccess
После того, как вы создали и загрузили файл .htpasswd, вам необходимо создать файл .htaccess, чтобы сообщить веб-серверу, какую папку вы хотите защитить и какой файл имени пользователя/пароля использовать.
- Создайте файл с помощью текстового редактора, такого как Блокнот или TextEdit.
- Сохраните файл как: .htaccess (без дополнительного расширения файла).
- Введите в файл следующие строки текста:
AuthType Базовый
AuthName "My Protected Folder"
AuthUserFile ../../.htpasswd
require valid-user
Пройдемся по только что установленным параметрам:
Строка 1:
AuthType Basic90 Тип аутентификации, который будет использовать веб-сервер, «Базовый» вполне подходит для того, что нам нужно.
Строка 2:
AuthName "Моя защищенная папка"
Устанавливает заголовок окна имени пользователя/пароля, которое будет всплывать, когда кто-то попытается просмотреть вашу защищенную страницу.
Строка 3:
AuthUserFile ../../.htpasswd
Сообщает веб-серверу, где найти файл имени пользователя/пароля. Вам нужно будет обновить ../../.htpasswd , указав относительный путь к местоположению вашего файла .htpasswd.
Путь ../../.htpasswd указывает, что файл расположен двумя папками выше текущего каталога, например, чтобы указать на файл в том же каталоге, вы можете использовать: ./.htpasswd
Строка 4:
require valid-user
Сообщает веб-серверу, кто в вашем файле .htpasswd может получить доступ к вашей папке, с использованием действительного пользователя каждый в файле может просматривать папку.
Куда загрузить файл .htaccess
Файл . htaccess, указанный выше, защитит все файлы в папке, в которую он загружен, и вложенные в нее папки. Например, если вы хотите защитить весь свой веб-сайт, вы можете поместить файл .htaccess в свою веб-папку.
Ваш браузер не поддерживает тег видео.
Вот оно! Вы успешно защитили паролем свой сайт.
паролей — Как я могу ограничить доступ к нашему сайту через .htaccess в cpanel?
спросил
Изменено 2 года назад
Просмотрено 2к раз
Я работаю над веб-сайтом, на котором я хочу ограничить доступ к нему, введя в него имя пользователя и пароль, например 9(.*)$ общедоступных/$1 [л] ЕслиМодуль>
Постановка проблемы:
Мне интересно, какие изменения я должен внести в приведенный выше код . htaccess
, чтобы он позволял внешним пользователям вводить имя пользователя и пароль для входа на веб-сайт.
- .htaccess
- пароли
- cpanel
4
Это можно сделать с помощью графического интерфейса cPanel. Вот несколько инструкций, которые я нашел:
- Войдите в cPanel.
- Перейдите в раздел «Файлы» и щелкните значок «Конфиденциальность каталога».
- Выберите каталог, который вы хотите защитить паролем, после чего вы увидите экран «Установить разрешения для $PATH».
- Установите флажок «Защитить этот каталог паролем:».
- Введите имя папки, которую вы пытаетесь защитить, в поле с надписью «Введите имя защищенной папки:».
- Нажмите кнопку Сохранить, чтобы сохранить имя, которое вы ввели для каталога, и возможность защитить каталог паролем.
- Создайте пользователя для предоставления доступа к защищенному каталогу, введя учетные данные в поля Имя пользователя, Новый пароль и Подтверждение пароля.
- Нажмите Сохранить, чтобы сохранить введенные учетные данные.
ИСТОЧНИК: https://www.inmotionhosting.com/support/website/protecting-files/how-do-i-password-protect-a-directory-in-my-control-panel-cpanel
ПРИМЕЧАНИЕ. Формулировка и расположение этих шагов могут различаться в разных версиях cPanel. Эти инструкции включают то, что называется «HTTP BASIC», что не считается безопасным. Этот QA может помочь объяснить, почему вы не должны использовать это для защиты конфиденциальных данных: https://security.stackexchange.com/questions/988/is-basic-auth-secure-if-done-over-https
Чтобы защитить сайт паролем, вам нужны две вещи: файл паролей и файл htaccess.
1) Создайте файл паролей
- Откройте новый текстовый файл и введите имя пользователя и пароль комбинация. Важно: каждая комбинация имени пользователя и пароля должна быть введены с новой строки в вашем файле.
- Сохраните файл и загрузите его в каталог на вашем веб-сервере. Большинство хостинговых компаний, работающих с модулем панели управления cPanel, имеют файл домашнего каталога, куда вы хотите загрузить файл .htpasswd.
2) файл htaccess
Добавьте следующие пять строк в файл htaccess:
AuthUserFile /path/to/htpasswd/file/.htpasswd
AuthGroupFile /dev/null
AuthName «Имя области»
Тип аутентификации Базовый
требуется действительный пользователь
Далее вам нужно изменить «/path/to/htpasswd/file/.htpasswd» (строка кода 1) к фактическому пути, ведущему к файлу .htpasswd
«Название области» (строка кода 3) необходимо изменить на название вашего сайт или раздел вашего сайта, который необходимо защитить.
Сохраните файл Htaccess и загрузите его в нужный каталог. иметь защиту.