С помощью .htaccess и .htpasswd возможно защитить паролем даже отдельную страницу или файл на вебсервере. Для того, чтобы защитить паролем отдельный файл:
- Создайте файл с именем .htpasswd и поместите его выше корневого каталога вебсервера, чтобы он был недоступен для посетителей вебсайта. Например если корневой каталог вебсервера /var/www/html можно поместить .htpasswd в /var/www
- Создайте зашифрованый пароль с помощью утилиты htpasswd или с помощью htpasswd generator. При этом неважно сколько отдельных файлов вы хотите защитить, они все могут использовать общий .htpasswd.
- Вставьте сгенерированную на предыдущем шаге строку в .htpasswd
Строка должна иметь вид:
login:s0mel0ngPa$$w0rdha$h
- перейдите в каталог с файлом который вы хотите защитить и создайте файл .htaccess если он ещё не создан
- Вставьте в файл .htaccess:
<FilesMatch "examplefile.extension">
AuthName "Member Only"
AuthType Basic
AuthUserFile /var/www/.htpasswd
require valid-user
</FilesMatch>Не забудьте заменить examplefile.extension на реальное имя файла.
- Сохраните файл
Мы защитили файл паролем, но не остальные файлы и каталог..
Для того, чтобы защитить несколько файлов:
Мы можем защитить паролем сразу несколько файлов или группы файлов с помощью масок имени. Для этого используйте маски в директиве FilesMatch :
- <FilesMatch «*.html»>
- <FilesMatch «file.*»>
- <FilesMatch «*.*»>
Чтобы защитить папку
Вставьте следующие директивы в файл .htaccess :
AuthName "Member Only"
AuthType Basic
AuthUserFile /home/cpanelusername/.htpasswd
require valid-user