Как установить .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 которая находится в корне сайта.

Видео инструкция
Создание 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/

в файле который отвечает за подключение вашего доменного имени ищем значение AllowOverride и меняем его на All.

Мой файл выглядит следующим образом, ваш может отличаться.

<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.

Для того чтобы ограничить доступ к в папке test создадим в ней файл .htaccess в который добавим следующие строки :

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, как быстро настроить защиту паролем.

Приступим…

Создание файла паролей

Файл паролей представляет собой простой текстовый файл, содержащий имя пользователя и пароль, разделенные двоеточием (:). Однако в целях безопасности пароль должен быть зашифрован. Существует множество бесплатных инструментов, которые зашифруют для вас пароль, но вы можете использовать наш инструмент ниже. Просто введите имя пользователя и пароль, которые вы хотите использовать, и мы сгенерируем строку текста, которую вы сможете скопировать и вставить.


  1. Создайте файл с помощью текстового редактора, такого как Блокнот или TextEdit.
  2. Сохраните файл как: .htpasswd
  3. Скопируйте и вставьте строку имени пользователя/пароля, сгенерированную с помощью нашего инструмента, в документ.
  4. Загрузите файл .htpasswd на свой веб-сайт с помощью FTP.

Обратите внимание: Инструкции по загрузке файла на ваш сайт можно найти здесь.

В целях дополнительной безопасности убедитесь, что он находится за пределами вашей веб-папки, чтобы никто не мог получить к нему доступ по адресу http://www.domain.com/.htpasswd. Наши серверы хостинга будут блокировать веб-доступ к любым файлам, начинающимся с .ht, но рекомендуется, чтобы файл паролей не находился в общедоступной папке.

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

После того, как вы создали и загрузили файл .htpasswd, вам необходимо создать файл .htaccess, чтобы сообщить веб-серверу, какую папку вы хотите защитить и какой файл имени пользователя/пароля использовать.

  1. Создайте файл с помощью текстового редактора, такого как Блокнот или TextEdit.
  2. Сохраните файл как: .htaccess (без дополнительного расширения файла).
  3. Введите в файл следующие строки текста:
 AuthType Базовый 
AuthName "My Protected Folder"
AuthUserFile ../../.htpasswd
require valid-user

Пройдемся по только что установленным параметрам:

Строка 1:

 AuthType Basic 
90 Тип аутентификации, который будет использовать веб-сервер, «Базовый» вполне подходит для того, что нам нужно.

Строка 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. Вот несколько инструкций, которые я нашел:

  1. Войдите в cPanel.
  2. Перейдите в раздел «Файлы» и щелкните значок «Конфиденциальность каталога».
  3. Выберите каталог, который вы хотите защитить паролем, после чего вы увидите экран «Установить разрешения для $PATH».
  4. Установите флажок «Защитить этот каталог паролем:».
  5. Введите имя папки, которую вы пытаетесь защитить, в поле с надписью «Введите имя защищенной папки:».
  6. Нажмите кнопку Сохранить, чтобы сохранить имя, которое вы ввели для каталога, и возможность защитить каталог паролем.
  7. Создайте пользователя для предоставления доступа к защищенному каталогу, введя учетные данные в поля Имя пользователя, Новый пароль и Подтверждение пароля.
  8. Нажмите Сохранить, чтобы сохранить введенные учетные данные.

ИСТОЧНИК: 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 и загрузите его в нужный каталог. иметь защиту.