---
title: "Ограничение доступа к веб-сайту с .htpasswd файлом"
canonical_url: "https://www.zone.lv/help/ru/kb/ogranichenije-dostupa-k-veb-sajtu-s-htpasswd-fajlom/"
post_type: "ht_kb"
published: "2024-04-29T07:45:33+00:00"
modified: "2024-04-30T13:56:33+00:00"
language: "ru"
author: "Ardi Jürgens"
taxonomies:
  ht_kb_category:
    - name: "Техническое"
      url: "https://www.zone.lv/help/ru/kb-categories/tehnicheskoje/"
  ht_kb_tag:
    - name: ".htpasswd"
      url: "https://www.zone.lv/help/ru/kb-tags/htpasswd-ru/"
    - name: "htaccess"
      url: "https://www.zone.lv/help/ru/kb-tags/htaccess-ru/"
---

# Ограничение доступа к веб-сайту с .htpasswd файлом

Если вы хотите временно ограничить доступ к своему сайту, один из способов сделать это – использовать комбинацию .htpasswd и .htaccess.

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

[![Authorisation required](https://www.zone.lv/static/sites/5/english-sign-in-300x234.png)](https://www.zone.lv/static/sites/5/english-sign-in-300x234.png)

## Разрешение доступа одному пользователю

Войдите в [My Zone](https://my.zone.lv/) и откройте файловый редактор (нажмите на кнопку `Файлы` в блоке `Веб и почта`).

Создайте новый файл с именем `.htpasswd` (перед именем должна быть точка!), желательно в том же каталоге, который открылся (вы также можете создать для него отдельный каталог; при условии, что этот каталог не будет доступен через веб).

Откройте [генератор паролей .htpasswd](https://www.web2generators.com/apache-tools/htpasswd-generator), используйте его для создания нужных учетных данных, а затем скопируйте и вставьте текстовую строку из поля `OUTPUT` в созданный файл .htpasswd.

[![Generated password](https://www.zone.lv/static/sites/5/psswrdgenerated.png)](https://www.zone.lv/static/sites/5/psswrdgenerated.png)

Сохраните изменения, нажав кнопку `Save` в правом нижнем углу.

Далее откройте корневой каталог веб-сайта (если страница расположена на главном домене, например domain.ee, то по умолчанию это будет каталог `htdocs`, если на поддомене, то по умолчанию это будет каталог поддомена).

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

```
AuthUserFile /path/to/.htpasswd
AuthType Basic
AuthName "Restricted webpage"
Require valid-user
```

Замените `/path/to/.htpasswd` в первой строке на полный путь к каталогу файла .htpasswd (так, чтобы в конце строки по-прежнему был `/.htpasswd`) и сохраните изменения.

Если вы создали файл .htpasswd в том же каталоге, что и тот, который был открыт первым в менеджере файлов, то этот каталог является корневым каталогом сервера. Полный путь к корневому каталогу сервера можно найти в последней строке страницы [Данные сервера](https://my.zone.lv/hosting/webhost/server-info?lang=ru) на вашем сервере (`Корневой каталог виртуального сервера`).

## Разрешение доступа определенной группе пользователей

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

Для этого создайте новый файл, в котором введите группы пользователей в форме `groupname: username username2 username3`, по одной группе в строке.

[![User group](https://www.zone.lv/static/sites/5/seconusers-300x49.png)](https://www.zone.lv/static/sites/5/seconusers-300x49.png)

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

Затем в файле .htaccess измените значение строки директивы `Require` на: `group название группы`, а также добавьте в файл новую строку с директивой `AuthGroupFile`, которая должна быть полным путем к каталогу файла группы, то есть расположением файла на сервере. Сохраните изменения.

[![Allowed users](https://www.zone.lv/static/sites/5/allowdusers.png)](https://www.zone.lv/static/sites/5/allowdusers.png)

## Немного больше технических деталей

### Генератор паролей .htpasswd

Пароли в файле .htpasswd должны быть хэшированы. Самый простой способ получить пароли в нужном формате – использовать этот [инструмент для генерации паролей .htpasswd](https://www.web2generators.com/apache-tools/htpasswd-generator).

В нем вам нужно ввести желаемое имя пользователя и пароль в форму `INPUT` (или позволить форме сгенерировать пароль за вас) и нажать на кнопку `Generate .htpasswd file`.

После нажатия на кнопку в поле `OUTPUT` под формой появится текстовая строка, которую следует скопировать. Текстовая строка отформатирована в виде `username:encryptedpassword` и должна быть вставлена в файл .htpasswd в этом же формате.

[![Password generator](https://www.zone.lv/static/sites/5/htpasswd_Parooli_Genereerija.png)](https://www.zone.lv/static/sites/5/htpasswd_Parooli_Genereerija.png)

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

Содержимое файла .htpasswd очень простое – вам нужно только ввести информацию о доступе в формате `username:encryptedpassword`, по одному пользователю на каждой строке. Пароль должен быть хэшированным.

[![Allowed users](https://www.zone.lv/static/sites/5/multiusers.png)](https://www.zone.lv/static/sites/5/multiusers.png)

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

### Содержание файла .htaccess

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

[![Authentication in .htaccess](https://www.zone.lv/static/sites/5/authusermiljon.png)](https://www.zone.lv/static/sites/5/authusermiljon.png)

### Директива AuthUserFile

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

В нашем примере файл .htpasswd расположен в той же директории, что и файл .htaccess (в корневой директории поддомена restricted.millionviews.eu), но в целях безопасности настоятельно рекомендуется размещать этот файл в каталоге, который невозможно открыть браузером через веб. Например, непосредственно в каталоге /www.sinudomeen.ee/… а еще лучше – в каталоге одного с ним уровня (это можно сделать через SSH).

Полный путь к корневому каталогу сайта можно найти в `Мой Zone` в управление хостингом, в разделе `Вебсервер` &gt;&gt; `Настройки главного домена` или `Поддомены` .

### Директива AuthType

`AuthType` или тип аутентификации может быть None, Basic, Digest или Form. Дополнительную информацию о типах аутентификации можно найти в [документации Apache](https://httpd.apache.org/docs/2.4/mod/mod_authn_core.html#authtype).

### Директива AuthName

Раньше значение `AuthName` отображалось в форме входа в систему, но теперь его единственная функция – различать домены аутентификации. Благодаря этой директиве, например, от уже прошедшего проверку подлинности пользователя не будут повторно запрашивать учетные данные для входа в систему, если на сервере есть несколько веб-страниц, требующих аутентификации с одним и тем же значением `AuthName`.

### Директива Require

Директива `Require`, описанная в четвертой строке, позволяет указать предположение, при котором попытка входа в систему будет успешной. Например, для значения `valid-user` достаточно, чтобы посетитель ввел правильные имя пользователя и пароль, которые соответствуют данным в файле .htpasswd.

Однако можно также разрешить доступ на групповой основе, чтобы только определенные пользователи, которые ввели файл .htpasswd, имели доступ к странице.
В этом случае значение `Require` должно иметь вид group `GroupName`.
