Как запаролить файл html

Обновлено: 03.07.2024

Бывают случаи, когда нужно ограничить доступ пользователей, к определенному каталогу на сайте или разделу сайта, и пускать туда посетителей только по паролю. Например, в раздел администратора. В этой статье я приведу инструкцию когда в качестве web-сервера вы используете Apache.

2. Как настроить доступ по паролю.

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

3. Параметры файла .htaccess.

Настройка доступа к каталогу по паролю в web-сервере Apache производится в служебном файле .htaccess. Иными словами, инструкции из файла .htaccess распространяются на тот каталог, в котором этот файл расположен.

Добавляемый фрагмент в файл конфигурации:

  • AuthName — это приветствие, которое увидят посетители, вы можете изменить его на свое,
  • AuthUserFile — полный путь к файлу паролей от корня диска, у вас должен быть свой (не путать с адресом запароленного каталога).

Файл .htpasswd нужно размещать вне каталогов сайта, чтобы к нему не было доступа из интернета.

После модификации файла конфигурации перезапустите Apache:

4. Формат файла .htpasswd.

Файл состоит из строк, в каждой из которых содержатся пары логин и хеш пароля. Логин отделяется от хеша двоеточием.

Пример содержимого файла:

5. Как создать файл .htpasswd.

Так как файл .htpasswd не содержит пароль в открытом виде, а лишь его хеш, то внести изменения в этот файл вручную с помощью обычного текстового редактора не получится. Нужно использовать специальную утилиту. В Linux системах для работы с файлом паролей используется утилита htpasswd, входящая в состав дистрибутива web-сервера Apache.

Чтобы создать файл с паролями .htpasswd и добавить пользователя используйте команду:

Если файла .htpasswd уже существует, то исключите ключ -c:

.htpasswd — это полный путь от корня диска к файлу с паролями, а NewUser — имя пользователя.

При вводе команды вам будет предложено указать пароль, а затем подтвердить его, то есть ввести пароль нужно будет два раза.

С помощью этой утилиты, так же можно изменить уже присвоенный пользователю пароль, то есть изменить пароль для существующего пользователя.

После создания файла .htpasswd с паролями накидываем права на этот файл:

6. Проверка работы .htpasswd.

Если вы все сделали правильно, то при посещении запароленного каталога (раздела на сайте), вы должны увидеть примерно следующее уведомление:


Бывают случаи, когда нужно ограничить доступ пользователей к определенной папке на сайте (разделу сайта) и пускать туда посетителей только по паролю. Например, в раздел администратора. В этой статье я приведу инструкцию когда в качестве веб-сервера вы используете Apache.

Как настроить доступ по паролю

Во-первых, необходим файл с кодами авторизации, который содержит имена пользователей и их пароли. Во-вторых, необходимо указать веб-серверу, что доступ к этому разделу сайта (папка, директория) возможен только авторизованным пользователям.

Параметры файла .htaccess

Настройка доступа к папке по паролю в веб-сервере Apache производится в служебном файле .htaccess. Этот файл должен находиться в той папке для которой мы настраиваем ограничения. Иными словами, инструкции из файла .htaccess распространяются на ту папку, в которой этот файл расположен.

Чтобы доступ к необходимой нам папке был ограничен необходимо добавить в файл .htaccess следующие строки (если такого файла нет, то создайте его):

Файл .htpasswd нужно размещать вне папок сайта, чтобы к нему не было доступа из интернета.

Формат файла .htpasswd

Файл состоит из строк, в каждой из которых содержатся пары логин и хеш пароля. Логин отделяется от хеша двоеточием. Пример содержимого файла:

Как создать файл .htpasswd

Так как файл .htpasswd не содержит пароль в открытом виде, а лишь его хеш, то внести изменения в этот файл вручную с помощью обычного текстового редактора не получится. Нужно использовать специальную утилиту. В линукс системах для работы с файлом паролей используется утилита htpasswd, входящая в состав дистрибутива веб-сервера Apache. Я писал о ее использовании в этой статье.

Чтобы создать файл с паролями .htpasswd и добавить пользователя используйте команду:

Если файла .htpasswd уже существует, то исключите ключ -c:

При вводе команды вам будет предложено указать пароль, а затем подтвердить его, то есть ввести пароль нужно будет два раза.

С помощью этой утилиты, так же можно изменить уже присвоенный пользователю пароль, то есть изменить пароль для существующего пользователя.

Проверка работы .htpasswd

Если вы все сделали правильно, то при посещении запароленной папки (раздела на сайте), вы должны увидеть примерно следующее уведомление:

Как поставить пароль на раздел (директорию, папку) сайта

В этот статье поговорим об том, как сделать доступ к сайту или отдельной директории по паролю.

В чем суть: мы создадим 2 файла: в первом код для блокировки сайта с ссылкой на 2 файл, в котором лежат логины и пароли для доступа. В первом файле мы должны указать абсолютный путь до второго:

.htaccess — файл дополнительной конфигурации веб-сервера Apache.
.htpasswd — файл для указания логинов и паролей для доступа.

Расположение этих файлов будет зависеть от того, к какой директории вы хотите закрыть доступ.

Закрыть доступ ко всему сайту

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

Получается такая структура:

Доступ на сайт по паролю. 5 строк кода 1

В файл. htaccess вставляем код:

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

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

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

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

В строке AuthUserFile вставляете путь, который получился у вас в файле test. php

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


У меня на выходе получилась такая строка
/home/***/works/sneakers-html/folder

Вставляем ее в код и получаем:

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

Теперь нам нужно создать зашифрованный пароль. Для этого перейдем по ссылке на генератор паролей.

Заполняем необходимые данные в форме и нажимаем кнопку « сгенерировать»:

Доступ на сайт по паролю. 5 строк кода 2

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

Доступ на сайт по паролю. 5 строк кода 3

содержимое файла. htpasswd

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

Что мы имеем в итоге:

  • файл .htaccess лежащий в корне сайта с 4 строками кода и путем к файлу с логинами и паролями
  • файл .htpasswd с логином и паролем

Теперь мы можем заходить на сайт и должны увидеть такое окно:

Доступ на сайт по паролю. 5 строк кода 4

Форма для ввода логина и пароля

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

Закрыть доступ к директории

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

Доступ на сайт по паролю. 5 строк кода 5

Файл .htaccess вы можете разместить в любом месте, вы уже научились узнавать его абсолютный путь. В данном случае можно просто скопировать путь из файла. htaccess корневой папки.

Будьте внимательны

Любое несоответствие кода в .htaccess или неправильный путь до файла приведут к ошибке « 500 Internal Server Error». Если это произошло — сверяйте код в файле .htaccess

У меня выкидывало ошибку из-за отсутствия « /» в начале пути.

Спасибо за прочтение статьи! Если у вас возникнут какие-то вопросы, трудности, пишите мне на почту, в личку в вк, в комментариях, по возможности помогу!

Читайте также: