2.12.5. Ограничение доступа к файлам и каталогам с помощью логина и пароля
Важные моменты:
- Директивы ограничения доступа нужно размещать в файле .htaccess, расположенном в защищаемом каталоге.
- Если с помощью .htaccess будет настраиваться доступ для статических файлов и HTML-страниц, удалите их расширения из списка статических файлов.
Ограничение доступа к каталогу
require valid-user Authname "Basic Auth" Authtype Basic AuthUserFile "/home/название_аккаунта/.htpasswd"
Файл паролей .htpasswd — это простой текстовый файл, имеющий следующую структуру:
user1:password user2:password
Где userX
— логин пользователя, password
— его зашифрованный пароль.
Рекомендуется размещать этот файл в каталоге, недоступном через браузер (вне каталога сайта).
Сгенерировать пароли можно здесь. Зашифровать сгенерированные пароли можно здесь.
Доступ только к определённому файлу
require valid-user Authname "Protected" Authtype Basic AuthUserFile "/home/название_аккаунта/.htpasswd" <Files page.php> allow from all satisfy any </Files>
Где page.php
— файл, к которому должен быть открыт доступ в закрытом каталоге.
Доступ только к файлам с определённым расширением
require valid-user Authname "Protected" Authtype Basic AuthUserFile "/home/yourlogin/.htpasswd" <Files *.cfg> allow from all satisfy any </Files>
Где .cfg
— расширение файлов, к которым будет открыт доступ в закрытом каталоге.
Доступ только к файлам с множеством определённых расширений
require valid-user Authname "Protected" Authtype Basic AuthUserFile "/home/yourlogin/.htpasswd" <FilesMatch ".(gif|bmp|tiff|swf|flv)$"> allow from all satisfy any </FilesMatch>
Где gif
, bmp
, tiff
, swf
, flv
— расширения файлов, к которым будет открыт доступ в закрытом каталоге.