Установить пароль на папку сайта через 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, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: