https://dev-postnov.ru/password-access-five-line-code/
В этот статье поговорим о том, как сделать доступ к сайту или отдельной директории по паролю.
В чем суть: мы создадим 2 файла: в первом код для блокировки сайта с ссылкой на 2 файл, в котором лежат логины и пароли для доступа. В первом файле мы должны указать абсолютный путь до второго:
.htaccess — файл дополнительной конфигурации веб-сервера Apache.
.htpasswd — файл для указания логинов и паролей для доступа.
Расположение этих файлов будет зависеть от того, к какой директории вы хотите закрыть доступ.
Закрыть доступ ко всему сайту
Файл .htaccess должен находится в корневой папке сайта, .htpasswd лучше положить в какую-то из директорий, чтобы до него нельзя было так просто добраться — там будут лежать логины и пароли для доступа.
AuthName — текст содержащийся в данной директиве, выводится в окне ввода пароля. Он должен быть написан в одну строку и заключен в двойные кавычки. Попробовал, у меня эта надпись нигде не показывается.
AuthType — типы аутентификации: Basic или Digest. Рекомендуется использовать первый, т.к. второй поддерживается не всеми браузерами.
AuthUserFile — полный путь к файлу с логинами и паролями, для аутентификации пользователей. Пароли содержаться в шифрованном виде. Рекомендуется хранить данный файл в папке, к которой нет доступа для пользователей, это необходимо, чтобы предотвратить кражу паролей.
require valid-user — директива предписывает, что к URL получают доступ только, пользователи, успешно прошедшие аутентификацию.
В строке AuthUserFile вставляете путь, который получился у вас в файле test. php
Для того чтобы узнать абсолютный путь к файлу, создаем в директории с файлом. htpasswd файл test. php, в нем экранируем переменную:
Что мы имеем в итоге:
- файл .htaccess лежащий в корне сайта с 4 строками кода и путем к файлу с логинами и паролями
- файл .htpasswd с логином и паролем