Как защитить страницу с помощью .htaccess и .htpasswd

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

  1. Создайте файл с именем .htpasswd и поместите его выше корневого каталога вебсервера, чтобы он был недоступен для посетителей вебсайта. Например если корневой каталог вебсервера /var/www/html можно поместить .htpasswd в /var/www
  2. Создайте зашифрованый пароль с помощью утилиты htpasswd или с помощью htpasswd generator. При этом неважно сколько отдельных файлов вы хотите защитить, они все могут использовать общий .htpasswd.
  3. Вставьте сгенерированную на предыдущем шаге строку в .htpasswd

Строка должна иметь вид:

login:s0mel0ngPa$$w0rdha$h

  1. перейдите в каталог с файлом который вы хотите защитить и создайте файл .htaccess  если он ещё не создан
  2. Вставьте в файл .htaccess:
    <FilesMatch "examplefile.extension">
    AuthName "Member Only"
    AuthType Basic
    AuthUserFile /var/www/.htpasswd
    require valid-user
    </FilesMatch>

    Не забудьте заменить examplefile.extension на реальное имя файла.

  3. Сохраните файл

Мы защитили файл паролем, но не остальные файлы и каталог..

Для того, чтобы защитить несколько файлов:

Мы можем защитить паролем сразу несколько файлов или группы файлов с помощью масок имени. Для этого используйте маски в директиве FilesMatch :

  • <FilesMatch «*.html»>
  • <FilesMatch «file.*»>
  • <FilesMatch «*.*»>

Чтобы защитить папку

Вставьте следующие директивы в файл .htaccess :


AuthName "Member Only"
AuthType Basic
AuthUserFile /home/cpanelusername/.htpasswd
require valid-user