HTTP протокол имеет простой механизм авторизации пользователя, который позволяет закрыть необходимые части сайта от публичного просмотра. Принцип работы довольно прост, чтобы попасть в закрытую область, пользователю необходимо ввести логин и пароль. С точки зрения безопасности данная авторизация не идеальна, и защищать критически важную информацию с помощью данной авторизации крайне не рекомендуется. Однако при проведении каких-либо профилактических работ, для временного ограничения доступа к сайту или к разделам сайта удобно воспользоваться данной авторизацией, в виду небольших временных затрат на её организацию.
В данной заметке мы поговорим о том, как сделать простую авторизацию с помощью .htaccess.
Первым делом необходимо создать файл .htpasswd, который будет хранить учетные данные пользователя. Логин и пароль в этом файле хранятся в специальном виде, пароль по ясным причинам так же зашифрован. Для удобства можно воспользоваться онлайн сервисом для генерации кода данного файла.
Сгенерировать htpasswd можно тут: http://www.htaccesstools.com/htpasswd-generator/
Код должен получиться что-то вроде этого:
Admin:$apr1$Kquu91ma$z8zPO8AoWxNYuuARi3Kgp0
После того как файл htpasswd создан, необходимо прописать кое-какие настройки в файле .htaccess. Файл htaccess должен находиться в директории, для которой нужна авторизация. Авторизация распространяется на все вложенные директории и файлы, поместив файл в корень сайта, мы можем ограничить доступ ко всему сайту.
Параметры в файле htaccess:
AuthType Basic AuthName "want to enter?" AuthUserFile /home/data/href.kz/.htpasswd Require valid-user
AuthUserFile – сюда следует указать путь до файла .htpasswd.
Здравствуйте!
Спасибо вам за статью. У меня есть вопрос. Если ограничить доступ ко всему сайту таким образом, сайт не проиндексируется поисковиками?
И если это будет протокол https?
Доступ закрывается для всех, независимо человек заходит на сайт или поисковая машина.
Ну допустим ты зашёл в нужную директорию введя пароль. В последующем заходе пароль уже не спрашивается. Нельзя ли сделать так чтоб он либо постоянно спрашивал пароль, либо сделать что-то типо кнопочки с выходом?