Установить пароль на папку сайта через htaccess

Попробуем сделать папку, которая защищена паролем от внешнего доступа. Если при обращении к такой папке пароль будет указан неверно, то появится ошибка доступа 403. Для этого создадим файл ".htaccess" (точка в начале обязательна) в корневой папке сайта и запишем в нём следующее:
<Files "/secret/">
   AuthUserFile /path_to_folder/.htpasswd
   AuthName "Authentication Required"
   AuthType Basic
   Require valid-user
</Files>
Первая строчка "<Files "/secret/">"говорит, что на все файлы, находящиеся в папке сайта "/secret/", будут действовать следующие паравила, который записаны внутри этого тега. Разберём по строчкам все директивы:
  • AuthType - может принимать значения "Basic" или "Digest" - это два разных типа защиты. Тип "Basic" слабый, потому что не использует ключ шифрования при передаче данных. Тип "Digest" обеспечивает повышенный уровень защиты, но его редко применяют.
  • AuthName - надпись над полем ввода пароля. Можно написать что угодно.
  • AuthUserFile - путь к файлу ".htpasswd".
  • Require - определяет тип аутентификации: "valid-user" - могут войти все пользователи, правильно указавшие пароль (требует файла AuthUserFile); "group" - могут войти пользователи, которые входят перечисленные в группы (требует файла AuthGroupFile); "user" - смогут войти только те пользователи, имена которых указаны после директивы.
Теперь необходимо создать файл с именами и паролями пользователей. В Linux для этого будет использоваться команда:
htpasswd -c /path_to_folder/.htpasswd user_name
Объяснение по порядку:
  • Ключ "-c" означает создание файла при его отсутствии. Значение всех параметров можно посмотреть в документации htpasswd
  • Обратите внимание на директорию для хранения файла: "/path_to_folder/.htpasswd". Желательно чтобы она находилась вдалеке от сайта, чтобы было сложнее достать файл и подобрать пароль. Не стоит класть файл "htpasswd" с паролем в корневую папку сайта.
  • "user_name" необходимо заменить на логин.
  • После ввода команды попросят задать пароль и подтвердить
Для пользователей Windows есть сайты-сервисы онлайн генераторы файла ".htpasswd". В них необходимо ввести логин/пароль, а взамен получаешь готовый файл ".htpasswd".
В примере статьи можно поменять адрес папки "/secret/" на адрес файла, чтобы защитить паролем файл сайта. К примеру, "/secret/page.php"
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, покупка SSL сертификатов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: