инструмент для разработчиков / 24
Генератор .htpasswd для Apache / Nginx
Создавайте строки аутентификации и хеши паролей .htpasswd для Apache и Nginx прямо в памяти браузера.
Генератор .htpasswd для Apache / Nginx: TOEA создаёт строку, которую Apache и Nginx ожидают увидеть для базовой HTTP-аутентификации. По умолчанию используется формат Apache $apr1$: пароль объединяется с солью из восьми случайных символов и обрабатывается в тысяче раундов — именно так работает htpasswd -m и именно этот формат читают оба сервера. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.
- Категория
- Инструменты для разработчиков
- Запуски
- В вашем браузере
- Стоимость
- Бесплатно · без регистрации
- Доступность
- Готово к использованию
Подключение строки к серверу
Сохраните строку в файле за пределами корня веб-сайта, по одному user:hash в строке. Для nginx добавьте auth_basic "Restricted"; и auth_basic_user_file /etc/nginx/.htpasswd; в блок location или server. Для Apache используйте AuthType Basic, AuthName, AuthUserFile с полным путём к файлу и Require valid-user. После этого перезагрузите сервер; синтаксическая ошибка приведёт к сбою каждого запроса, а не только попыток входа.
Знаки доллара и обычный HTTP
Хеш содержит много символов $, а файлы Docker Compose, .env и некоторые метки прокси воспринимают $ как начало переменной. В Compose записывайте каждый $ как $$; иначе хеш будет незаметно укорочен, и ни один пароль не подойдёт.
Базовая аутентификация отправляет имя пользователя и пароль с каждым запросом в кодированном, но не зашифрованном виде. Используйте её за HTTPS и рассматривайте как защиту тестовых сайтов и административных путей, а не как систему входа для клиентов.
Как пользоваться
- Введите имя пользователя и пароль.
- Оставьте алгоритм Apache MD5, если у вас нет особых причин выбрать другой.
- Скопируйте созданную строку в файл .htpasswd.
Конфиденциальность и ограничения
Пароль хешируется в браузере и никуда не отправляется. Данные не записываются в журналы, а соль создаётся собственным криптографическим генератором случайных чисел браузера, поэтому два человека, создающие строку для одного и того же пароля, получат разные хеши.
Похожие инструменты
Часто задаваемые вопросы
Какой алгоритм выбрать?
Apache MD5 ($apr1$) — используйте его по умолчанию. Он использует соль и многократное хеширование, а его поддерживают и Apache, и Nginx. Вариант {SHA} — это хеш SHA-1 без соли, сохранённый только для старых конфигураций, которым он необходим. Собственная утилита Apache htpasswd помечает этот вариант как небезопасный: одинаковые пароли дают одинаковые хеши, а таблица предварительно вычисленных значений позволяет их подобрать.
Насколько это надёжно по сравнению с bcrypt?
Не настолько. bcrypt — более надёжный вариант, и Apache его поддерживает, но создать его здесь нельзя: для этого нужна реализация Blowfish, а её добавление означало бы поставку большого объёма кода, которому пришлось бы доверять. Если нужен bcrypt, локально выполните htpasswd -B -n username и вставьте полученный результат.
Можно ли проверить строку, прежде чем использовать её?
Да, и это стоит сделать. Сохраните строку в файл и выполните htpasswd -vb yourfile username password — Apache сообщит, прошла ли аутентификация. Эти строки проверены с помощью htpasswd и openssl passwd -apr1.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен