Доступ на сайт по паролю. 5 строк кода
В этот статье поговорим о том, как сделать доступ к сайту или отдельной директории по паролю.
В чем суть: мы создадим 2 файла: в первом код для блокировки сайта с ссылкой на 2 файл, в котором лежат логины и пароли для доступа. В первом файле мы должны указать абсолютный путь до второго:
.htaccess — файл дополнительной конфигурации веб-сервера Apache.
.htpasswd — файл для указания логинов и паролей для доступа.
Расположение этих файлов будет зависеть от того, к какой директории вы хотите закрыть доступ.
Закрыть доступ ко всему сайту
Файл .htaccess должен находится в корневой папке сайта, .htpasswd лучше положить в какую-то из директорий, чтобы до него нельзя было так просто добраться — там будут лежать логины и пароли для доступа. Предлагаю положить его в директорию /folder.
Получается такая структура:

В файл. htaccess вставляем код:
AuthName — текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки. Попробовал, у меня эта надпись нигде не показывается.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать первый, т.к. второй поддерживается не всеми браузерами.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, это необходимо, чтобы предотвратить кражу паролей.
require valid-user — директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.
В строке AuthUserFile вставляете путь, который получился у вас в файле test. php
Для того чтобы узнать абсолютный путь к файлу, создаем в директории с файлом. htpasswd файл test. php, в нем экранируем переменную:
Теперь нам нужно открыть этот файл в браузере.
ваш-сайт.ru/folder/test.php, подставите адрес своего сайта.
У меня на выходе получилась такая строка
/home/***/works/sneakers-html/folder
Вставляем ее в код и получаем:
После того как вы узнали абсолютный путь до директории, удалите этот файл, он больше не нужен.
Теперь нам нужно создать зашифрованный пароль. Для этого перейдем по ссылке на генератор паролей.
Заполняем необходимые данные в форме и нажимаем кнопку « сгенерировать»:

Скопируем получившуюся строку и вставим в файл. htpasswd:

содержимое файла. htpasswd
Строка означает — логин: пароль в зашифрованном виде. Для доступа на сайт нам нужно вводить тот логин и пароль, который мы указывали в генераторе, то есть admin и password.
Что мы имеем в итоге:
- файл .htaccess лежащий в корне сайта с 4 строками кода и путем к файлу с логинами и паролями
- файл .htpasswd с логином и паролем
Теперь мы можем заходить на сайт и должны увидеть такое окно:

Форма для ввода логина и пароля
После ввода данных на откроется главная страница сайта. Если же будет ошибка в вводимых данных, либо мы получим 404 ошибку, либо страница перезагрузится и снова появится форма ввода данных.
Закрыть доступ к директории
Разница между этими способами в том, что файл. htaccess нужно поместить в ту директорию, которую вам необходимо закрыть:

Файл .htaccess вы можете разместить в любом месте, вы уже научились узнавать его абсолютный путь. В данном случае можно просто скопировать путь из файла. htaccess корневой папки.
Будьте внимательны
Любое несоответствие кода в .htaccess или неправильный путь до файла приведут к ошибке « 500 Internal Server Error». Если это произошло — сверяйте код в файле .htaccess
У меня выкидывало ошибку из-за отсутствия « /» в начале пути.
Видеоурок
Спасибо за прочтение статьи! Если у вас возникнут какие-то вопросы, трудности, пишите мне на почту, в личку в вк, в комментариях, по возможности помогу!
Итоговый код файлов
.htpasswd, логин и пароль. Генерировать тут. В коде пример рандомного логина и пароля
Примечания
Если нужно, чтобы пароль запрашивался каждый раз и его нельзя было его « запомнить». Вставьте в файл htaccess строку « AuthBasicProvider file».
Защитить сайт паролем с помощью htpasswd
Всем привет! Сегодня мы поговорим о том, как защитить сайт паролем с помощью htpasswd. Такая необходимость может возникнуть при разработке нового сайта или при любой другой ситуации, когда вам нужно закрыть доступ к сайту или директории паролем. Это может быть обусловлено необходимостью запретить индексирование контента поисковыми роботами в период разработки или может появиться необходимость закрыть доступ к определенным разделам, документам сайта.

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

Как создать файл паролей .htpasswd
На первом этапе придумайте новый логин и сгенерируйте новый пароль, воспользовавшись страницей c инструментом генератора паролей. Сохраните полученные пароли.
Затем, вам нужно сгенерировать содержимое для .htpasswd файла, воспользовавшись htpasswd генератором. В поле «Юзер(Логин)» укажите придуманный вами логин (только латинскими буквами), в поле «Пароль», — сгенерированный ранее пароль. После этого вы получите результат, что то наподобие этого:
Чтобы понять, что мы получили в результате, полученную строку можно представить как <login>:<password>, где admin — это наш «Юзер(Логин)», а $apr1$evskxt6q$p3RZUmYH.mVZn9nVMij850 это наш зашифрованный пароль.
Далее нам необходимо создать обычный текстовый файл с именем .htpasswd. И в этот файл нам необходимо вставить нашу строку admin:$apr1$evskxt6q$p3RZUmYH.mVZn9nVMij850 и сохранить файл. Если вам нужно сделать несколько учетных записей, то вам нужно повторить все шаги описанные выше еще раз и добавить еще одну запись в этот же файл, но уже с новой строки. Допустим если нам нужно 2 учетные записи, то содержимое файла будет выглядеть так:
Где мы видим 2 учетные записи для логина admin и developer.
- Содержимое файла должно быть только из строк сгенерированных с помощью генератора, если их несколько — то добавлять их с новой строки.
- Пустых строк в файле не должно быть
- Файл должен быть в кодировке UTF-8
Еще стоит заметить, что вы можете сгенерировать .htpasswd файл с помощью программ, которые вы можете скачать в интернете, но это не рекомендуется делать, так как программы могут содержать вирусы.
Теперь нам осталось подключить .htpasswd файл к WEB-серверу. В этой статье мы рассмотрим подключение к Apache и Nginx.
Как подключить .htpasswd в Nginx
Чтобы защитить определенную директорию на сайте, вам необходимо обновить конфиг nginx вашего сайта, и добавить туда что то вроде этого:
- location /protect — означает что мы будем защищать директорию /protect паролем.
- auth_basic «Administrator’s Area»; — название диалогового окна в котором вам нужно будет ввести логин и пароль.
- auth_basic_user_file /path/to/.htpasswd; — путь к .htpasswd файлу.
Чтобы проверить, что ваш контент защищен, попробуйте получить доступ к ограниченному контенту в браузере, для этого на нужно перейти по адресу www.example.com/protect (если вы указали location /protect, в противном случае вам нужно указать свой путь). Вы должны увидеть окно для ввода имени пользователя и пароля.
Также мы можем ограничить доступ ко всему сайту, но при этом сделать некоторые области сайта общедоступными. В этом случае укажите auth_basic off в определенной директории:
Как подключить .htpasswd в Apache
Сначала рассмотрим, как закрыть полностью весь сайт. Откройте файл виртуального хоста, в который вы хотите добавить ограничение и добавьте туда корневую директорию вашего сайта:
Таким образом, мы можем указать какую-то более верхнюю директорию в вашем сайте для того, чтобы закрыть специфическую директорию на вашем сайте.
А теперь давайте рассмотрим, как можно блокировать доступ к сайту, если у вас включена настройка:
Эта настройка включает возможность использовать файлы .htaccess. Теперь перейдите в каталог, к которому хотим ограничить доступ по паролю, создаем файл .htaccess с такими директивами:
Если вы файл .htpasswd положили где-то в директории с сайтом, то теперь вам нужно защитить его, для этого вам нужно создать .htaccess файл в той же директории где лежит файл с паролями. Если там уже есть файл .htaccess, то тогда вам его нужно открыть для редактирования и добавить следующие строки:
Как защитить паролем сайт на WordPress: все доступные методы
Существует множество способов добавить защиту паролем на ваш сайт. Таким образом можно обезопасить весь WordPress-сайт, определенную веб-страницу или запись.
Как защитить паролем WordPress- сайт с помощью плагина

Мы рекомендуем использовать бесплатный плагин Password Protected от Бена Хасона, который высоко оценен на WordPress.org.
После его установки и активации перейдите в меню Настройки → Password Protected, чтобы настроить необходимые параметры.
Установите флажок « Password Protected Status » , чтобы активировать защиту паролем. Затем введите значение пароля в поле « New Password» .
Этот плагин также предоставляет возможность создание белого списка определенных типов пользователей и IP-адресов.

Как защитить паролем весь WordPress-сайт
После того, как вы активируете защиту, любой, кто попытается посетить ваш сайт, должен будет ввести пароль.

Форма ввода пароля для всего сайта
Для изменения логотипа страницы входа можно использовать бесплатный плагин Login Logo .
Как защитить паролем WordPress-сайт с помощью HTTP-аутентификации
Базовая HTTP-аутентификация позволяет добавить дополнительный уровень защиты паролем еще до загрузки сайта в браузере пользователя. Многие хостеры предоставляют простой инструменты защиты паролем (htpasswd) .

Включение защиты .htpasswd
После этого потребуется авторизация для доступа к сайту. Вы сможете в любое время изменить учетные данные или отключить защиту.

Запрос аутентификации .htpasswd
Как защитить паролем каталог
Это можно сделать с помощью защиты htpasswd. Для этого:
Apache
Чтобы настроить защиту каталога в Apache, сначала необходимо создать файл .htpasswd. Для этого можно использовать удобный генератор . Затем загрузите созданный файл в каталог, который хотите защитить.
Создайте файл .htaccess с приведенным ниже кодом и загрузите его в каталог. Убедитесь, что вы правильно задали путь к защищенному каталогу и имя пользователя.
Nginx
В Nginx доступ к каталогу можно ограничить с помощью базовой HTTP-аутентификации. Для этого воспользуйтесь данным руководством .
Если хостинг использует cPanel, то можно настроить защиту паролем с помощью инструмента « Конфиденциальность каталога» (раздел « Файлы») .

Настройка защиты каталога в cPanel.
Как защитить паролем запись, страницу и товары WooCommerce
Защитить паролем отдельную запись, страницу или товар WooCommerce, можно с помощью параметра « Видимость» . Он доступен во встроенном редакторе WordPress. Поэтому его можно использовать для любого типа контента. Для этого:
- Откройте во встроенном редакторе WordPress контент, для которого вы хотите добавить защиту паролем.
- Найдите параметр « Видимость» в боковой панели справа.
- Кликните по нему.
- Выберите пункт « Защищено паролем» и введите пароль.
Вот как это выглядит в новом блочном редакторе WordPress:

Параметр видимости в блочном редакторе WordPress
А вот как это выглядит в классическом редакторе WordPress:

Настройки видимости в классическом редакторе WordPress
Теперь для доступа к контенту потребуется пароль. Кроме этого WordPress добавит отметку «Защищено» перед заголовком записи:

Как работает встроенная защита паролем в WordPress
Если установить одинаковый пароль для нескольких записей, то пользователь, введя его один раз, автоматически разблокирует все элементы контента, для защиты которых используется этот же пароль .
Рассмотрим, как этот метод защиты работает с товаром WooCommerce.

Как защитить паролем товар WooCommerce
Как защитить паролем категорию записей в WordPress
Для защиты паролем целой категории нужно использовать специализированные плагины:
- Password Protected Categories, премиум плагин от Barn2 Media .
- Access Category Password .
Как использовать плагин Password Protected Categories
После установки и активации плагина перейдите в меню Записи → Рубрики и выберите нужную категорию. Внизу вы увидите поле « Видимость», которое мы использовали для защиты паролем отдельных частей контента. Выберите значение « Защищено паролем» и введите желаемый пароль.
Плагин позволяет добавлять сразу несколько паролей к категории для каждой группы пользователей.

Как добавить пароль для категории
После этого для доступа к записям из этой рубрики пользователям нужно будет ввести пароль.

Форма ввода пароля для разблокировки категории
Зайдя в меню Настройки → Защищенные категории , вы также сможете получить доступ к некоторым дополнительным настройкам. С их помощью можно:
- Установить срок действия пароля.
- Настроить отображение контента из защищенных категорий в общедоступных областях.
- Настроить форму входа, которая была продемонстрирована выше.

Настройки защищенных паролем категорий
Как использовать плагин Access Category Password
Плагин Access Category Password доступен на WordPress.org. После его установки и активации перейдите в меню Настройки → Access Category Password .
Здесь вы сможете:
- Установить пароль.
- Выбрать, какие категории необходимо защищать паролем.
- Включить в белый список определенные роли пользователей, которые получат доступ к защищенным категориям без пароля.
- Настроить страницу входа.

Настройки плагина Access Category Password
Недостатком данного плагина является поддержка только одного значения пароля. Поэтому придется использовать один и тот же пароль для всех категорий, которые необходимо защитить.
Кроме этого плагин Access Protected Categories отображает заголовок записи еще до того, как пользователь введет пароль.

Как защитить паролем часть записи в WordPress
Для защиты части записи воспользуйтесь бесплатным плагином Passster . После установки и активации плагина перейдите в меню Настройки → Passster и создайте шорткод, который будет использоваться для ограничения доступа. Затем выберите опцию « Создать пароль» :

Генератор шоркодов Passster
Сохраните внесенные изменения и скопируйте шорткод, который предоставит Passster:

Скопируйте шорткод Passster
Затем добавьте этот шорткод к той части контента, которую хотите использовать защиту паролем. Отредактируйте заполнитель «Your content here» и замените его контентом, который вы хотите защитить:

Пример шорткода Passster
После того, как вы опубликуете запись, форма защиты паролем по умолчанию будет выглядеть примерно так:

Форма входа Passster
Чтобы настроить внешний вид этой формы, вы можете использовать визуальный редактор WordPress (меню Внешний вид → Настроить ).

Параметры стиля Passster в дизайнере WordPress
Заключение
Существует множество вариантов защиты паролем для WordPress. Выберите тот, который подходит вам больше всего.
Защищаем сайт и директории паролем с помощью htaccess и htpasswd

Доступ по http и https к содержимому любого каталога на сервере можно ограничить с помощью htaccess и htpasswd. При обращении к каталогу через браузер пользователю будет выводиться диалог, запрашивающий логин и пароль. При неверном их вводе доступ предоставлен не будет — отобразится ошибка 403.
Данный способ достаточно прост, но в тоже время является очень надежным, при условии использования «нормального хостинга», так как данный тип защиты паролем через htaccess и htpasswd строится средствами сервера Apache.
Настройка защиты с помощью htaccess и htpasswd
Для работы нам необходимо несколько вещей:
- Доступ к сайту по FTP;
- Наличие прав на редактирование .htaccess ;
Для начала нам необходимо создать файл .htaccess. Проще всего это сделать с помощью обычного блокнота Windows. Нажимаем на рабочем столе правой кнопкой мыши, затем Создать — Текстовый документ. Открываем созданный текстовый документ, затем Файл — Сохранить как. Название меняем на .htaccess (точка перед названием обязательна!), тип файла «Все файлы» (иначе создастся .htaccess.txt).

Теперь нам необходимо создать файл с логинами и паролями для HTTP авторизации. Для этого распаковываем скаченный ранее файл htpasswd.exe и перемещаем его для удобства в корень диска C:.
Запускаем командную строку Пуск — Выполнить — cmd. Пишем cd C:/ , затем нажимаем Enter.
Теперь пишем следующую команду: htpasswd -cm .htpasswd admin
- htpasswd — наша скаченная программа
- -cm .htpasswd — параметр для создания файла .htpasswd и шифрования пароля с помощью MD5
- admin — имя пользователя, для которого создаем пароль
После выполнения команды необходимо ввести и подтвердить пароль для пользователя.

У нас создался файл .htpasswd с логином и паролем, с помощью которых можно будет получить доступ к сайту/директориям.
Теперь нам необходимо загрузить наши файлы .htaccess и .htpasswd на сервер.
.htaccess загружаем в директорию, которую необходимо защитить (будут автоматически защищены все подпапки), а .htpasswd рекомендуется загружать в другую директорию.
После того, как вы загрузили файлы на сервер по FTP, необходимо отредактировать файл .htaccess. Можно сделать это прямо на сервере, либо на компьютере через блокнот и потом снова загрузить на сервер. Пишем в файл следующие строки:
AuthUserFile /home/u304720/***.ru/www/adm/.htpasswd — здесь указывается относительный путь до нашего файла .htpasswd. Если вы его не знаете, то его можно узнать через phpinfo() .
Для этого создаем файл, например, info.php. Пишем в него следующий код:
Сохраняем файл и загружаем в директорию, где лежит .htpasswd. Заходим по адресу вашего сайта, например, https://pogrommist.ru/adm/info.php и ищем строку «SCRIPT_FILENAME». В ней отображается абсолютный путь до файла info.php.

Копируем все, кроме названия файла и вставляем в .htaccess. После обязательно удалите info.php с сервера!
Все, сохраняем файл .htaccess и загружаем на сервер (если редактировали на локальном компьютере).

Теперь, если попробовать зайти в папку на сервере, то будет выскакивать окошко с запросом логина и пароля. Сессия хранится до закрытия браузера.