Инструменты пользователя

Инструменты сайта


htaccess

Чтобы работали файлы **.htaccess** необходимо в конфигурационном файле

/etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

привести к виду

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

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

Примеры файлов .htaccess

Для ограничения доступа к выбранной директории скопируйте эти строчки в ваш .htaccess файл:

AuthType Basic
AuthName "Thats protected Area!"
AuthUserFile /usr/host/mysite/.htpasswd
Require valid-user
<Files .htpasswd>
   deny from all  #запрет доступа из браузера к .htpasswd
</Files>

Для запрета доступа только к файлу private.zip скопируйте эти строчки в ваш .htaccess файл:

<Files private.zip>
AuthType Basic
AuthName "Thats protected Area!"
AuthUserFile /usr/host/mysite/.htpasswd
Require valid-user
</Files>
<Files .htpasswd>
   deny from all  #запрет доступа из браузера к .htpasswd
</Files>

Обратите внимание что файлы .htaccess и .htpasswd должны быть сохранены в unix-формате. Например, в Far Manager этого можно достичь если в режиме редактирования файла нажать комбинацию Shift+F2 и в появившемся меню выбрать “в формате UNIX (LF)”.

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

  • AuthType - Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
  • AuthName - Имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: «Private zone. Only for administrator!»
  • AuthUserFile - полный путь к файлу с паролями (.htpasswd). Относительные пути работать не будут.
  • AuthGroupFile - путь к файлу групп, если он существует.
  • Require - Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
  1. require valid-user — разрешен доступ всем прошедшим проверку
  2. require user admin alex mango — разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
  3. require group admins - разрешен доступ всем пользователям из группы admins

Файлы групп

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

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

Пример файла групп

Admins: admin alex mango
Users: guest user max23

В группу Admins входят посетители с именами admin, alex, mango. А группу Users входят посетители с именами guest, user, max23.

Примеры .htaccess с группами

Пример файла .htaccess для доступа всем пользователям, прошедшим авторизацию

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile  /usr/host/mysite/.htpasswd
require valid-user

Пример файла .htaccess для доступа только пользователям admin и root

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile  /usr/host/mysite/.htpasswd
require user admin root

Доступ только пользователей из группы admins

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile  /usr/host/mysite/.htpasswd
AuthGroupFile /usr/host/mysite/group
require group admins

Источник

htaccess.txt · Последнее изменение: 2021/01/05 10:57 — dja