Базовая авторизация HTTP - один из самых простых методов закрытия доступа к вашему веб-сайту. Все что вам нужно - это возможность внести изменения в .htaccess вашего сайта, либо напрямую в настройки Apache.
Что это такое и как работает?
HTTP авторизация - это механизм защиты данных на вашем сервере. При данном методе авторизации только пользователи имеющие логин и пароль смогут получить доступ к информации, хранящейся на вашем сайте. Доступов можно создать бесконечно множество, а по логам сервера (если такие настроены), можно будет понять кто и когда заходил на ваш сайт (чтобы в случае чего выяснить, кто именно начал барагозить ( https://otvet.mail.ru/question/40434419)).
Механизм авторизации довольно простой: логин и пароль передаются в заголовке запроса, который отправляет браузер (или который вы формируете руками), либо вы можете его вписать прямо в адресную строку по следующему правилу: http://#ЛОГИН#:#ПАРОЛЬ#@adressayta.ru/. Ниже представлено окно авторизации сайта, закрытого базовой авторизацией .
Когда может понадобиться Basic Auth?
Использовать Basic авторизацию можно в том случае, если доступ к серверу сайту или определенному разделу сайта необходимо скрыть от любознательных глаз. Один из таких случаев: закрытие тестового сервера или сервера разработки. Закрыв тестовый сайт вы предотвратите появление сайта в поисковой выдаче (ведь роботы не смогут индексировать сайт) исключив ошибки дублей и склеивание зеркал, а так же исключите возможность конкурентов подсмотреть за тем, что же такого интересного вы делаете на своем сайте, какие новые фишки вы добавляете, повышая удобство для ваших пользователей.
Данные с доступами пользователей хранятся на сайте в специальном файле .htpasswd (файлы начинающиеся с точки - скрытые файлы в большинстве файловых систем Unix), который расположен на сервере и заполняется администратором сайта/сервера или вами самим (при использовании файла .htaccess).
За технической поддержкой веб-сайта, доработками сайта как в дизайне/юзабилити, так и в технических показателях (скорость загрузки, стабильность работы) вы можете обратиться к нам! Ознакомиться с тарифами на техническую поддержку вы можете по ссылке (https://bewave.ru/services/tekhnicheskaya-podderzhka/)!
Как настроить базовую авторизацию на сайте?
Как уже говорилось выше, закрыть доступ можно не только к какому-то отдельному сайту, но и к его целому серверу или же наоборот, только к одному каталогу. Рассмотрим варианта настроек для серверов с BitrixENV (данные настройки подойдут для большинства серверов, работающих с Apache, то есть исключением будет в большем случае только Microsoft Windows Server).
Настройка для сайта
Наиболее простым путем закрытия сайта базовой авторизацией будет использование файла .htaccess (если использование данного файла разрешено настройками самого NGINX).
Для этого нам необходимо выполнить следующие шаги.
- Шаг 1.Создать файл .htpasswd с доступами пользователей
Для этого существует множество онлайн сервисов. Мы будем использовать сервис по ссылке ( https://hostingcanada.org/htpasswd-generator/).
Введите логин пользователя (для примера admin) и пароль в соответствующие поля и нажмите «Create .htpasswd file»
Сгенерированная строка появится выше - скопируйте ее.
Создайте файл .htpasswd в корне вашего сайта и вставьте туда полученную в сервисе строку, чтобы получилось что-то вроде следующего. Каждые новые доступы должны начинаться с новой строки!
Сохраните файл и запомните полный путь до него (можно узнать из консоли с помощью команды pwd).
- Шаг 2. Добавьте в файл .htaccess (создайте его в корне сайте, если его еще нет) специальные директивы
AuthType Basic
AuthName "Restricted Content"
AuthUserFile #ПУТЬ ДО ФАЙЛА .htpasswd#
Require valid-user
Сохраните изменения. - Шаг 3. Готово! Ваш сайт закрыт от индексации и доступ к нему можно получить только по логину и паролю, который вы создали в первом шаге!
Настройка для адреса/каталога
Если же вы не хотите закрывать доступ ко всему сайта, а только к отдельному его каталогу - вы можете создать и разместить файл .htaccess именно в том каталоге, который вы хотите скрыть от посторонних глаз. Все очень просто!
Настройка для сервера
Рассмотрим вариант закрытия доступа ко всем сайтам расположенным на сервере с помощью изменения настроек APACHE.
Для того, чтобы закрыть все сайта сервера необходимо выполнить следующие шаги.
- Шаг 1. Сгенерировать файл .htpasswd с доступами пользователей, разместить его на сервере и запомнить полный путь до него (например: /home/bitrix/ext_www/.htpasswd).
- Шаг 2. Добавить в параметры APACHE директиву, закрывающую доступ к директории с сайтами сервера.
<Directory /home/bitrix/ext_www/>
AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile /home/bitrix/ext_www/.htpasswd
require valid-user
</Directory> - Шаг 3. Перезагрузите Apache и готово! Все ваши сайты размещенные внутри папки /home/bitrix/ext_www/ будут закрыты базовой авторизацией.
Как открыть от авторизации один сайта или каталог?
Такие ситуации тоже часто возникают. Если один из разделов необходимо открыть для доступа без авторизации, то в данной директории необходимо разместить файл .htaccess и разместить в нем следующие директивы.
Satisfy Any
Allow from all
Минусы базовой авторизации
Недостаток базовой авторизации - ее простота. Данные запроса передаются на сайт напрямую в заголовке, в открытом виде не проходя шифрование, то есть их можно перехватить. Отсюда вывод - для сохранения действительно важной информации базовой авторизации недостаточно!
Вывод
С помощью описанных выше, довольно простых манипуляций , вы можете настроить базовую авторизацию, ограничив круг лиц имеющих доступ к вашему сайту или его разделу. Закрыть тестовый сервер базовой авторизацией - 5 минут, решать проблемы с утечкой информации или индексацией сайта - можно бесконечно!
Если же вы не уверены, что сможете внести данные настройки самостоятельно, то пишите нам! Наши технические специалисты вам помогут!
Более подробно о HTTP авторизации вы можете прочитать по ссылке ( https://developer.mozilla.org/ru/docs/Web/HTTP/Authentication).