Pugofka / Tools / Генераторы
Генератор htpasswd: закрыть сайт паролем за минуту
Создайте .htpasswd и готовые настройки Basic Auth для nginx или Apache. Пароль обрабатывается только в браузере.
Как закрыть сайт паролем в nginx
Введите логин и пароль, добавьте строку и скачайте файл .htpasswd. Перенесите его на сервер в каталог, который не раздаётся посетителям. В готовом сниппете замените путь /etc/nginx/.htpasswd на фактический абсолютный путь к файлу.
Директивы auth_basic и auth_basic_user_file поместите в нужный блок server или location. Так можно закрыть весь тестовый сайт или только отдельный раздел. Проверьте конфигурацию командой nginx -t, затем примените её без остановки сервера. Откройте защищённый URL в приватном окне: браузер должен запросить учётные данные.
Для nginx в разных системах доступна разная реализация crypt(). APR1 обычно работает сразу; поддержку bcrypt лучше подтвердить на своём сервере до замены действующего файла.
Как закрыть сайт паролем в Apache (.htaccess)
Скопируйте блок для Apache в .htaccess каталога, который нужно защитить. Укажите в AuthUserFile абсолютный путь к созданному .htpasswd. Файл с хешами держите вне каталога, открытого из браузера. Директива Require valid-user разрешит вход любому пользователю из файла.
Правила из .htaccess действуют только если сервер разрешает их через AllowOverride. Если настройка запрещена, перенесите тот же блок в конфигурацию виртуального хоста и перезагрузите Apache после проверки конфигурации. При добавлении второго пользователя не заменяйте файл одной строкой: скачайте полный файл с обеими строками.
Какой формат хеша выбрать
| Формат | Apache | Nginx |
|---|---|---|
| APR1-MD5 | Поддерживается | Поддерживается из коробки |
| bcrypt, cost 10 | Apache 2.4+ | Зависит от системной libcrypt |
APR1 использует MD5 и тысячи повторений, но по современным меркам этот алгоритм устарел. Он выбран по умолчанию из-за совместимости: для кратковременной защиты тестового окружения это практичный вариант, если пароль уникален и доступ идёт только через HTTPS. Для долгоживущего доступа лучше bcrypt, когда обе стороны его поддерживают.
Хеш в файле не заменяет HTTPS. При Basic Auth браузер отправляет логин и пароль в заголовке Authorization, закодированные в Base64. Это кодирование можно обратить; транспорт должен быть защищён TLS.
Безопасно ли генерировать htpasswd онлайн
У многих онлайн-генераторов пароль отправляется на сервер для вычисления хеша. Здесь APR1 и bcrypt выполняются в вашем браузере, файл создаётся там же. Пароль и хеш не отправляются в API Pugofka; это можно проверить во вкладке Network инструментов разработчика. В события Метрики передаётся только название инструмента.
Скачанный файл и скопированный пароль остаются под вашим контролем. Сохраните пароль в менеджере паролей, проверьте права доступа к .htpasswd на сервере и не кладите его в публичную папку или репозиторий. После окончания тестирования удалите временные учётные записи.
Частые вопросы
- Что такое Basic Auth?
- Простой механизм HTTP-аутентификации: сервер запрашивает логин и пароль перед выдачей защищённой страницы.
- Защищает ли Basic Auth без HTTPS?
- Нет. Данные передаются в Base64, которое легко декодировать. Используйте Basic Auth только поверх HTTPS.
- Как добавить второго пользователя?
- Введите второй логин и пароль и нажмите «Добавить строку». Скачайте обновлённый файл: он содержит обе записи.
- Можно ли использовать один файл для nginx и Apache?
- Да, если выбранный формат хеша поддерживается обоими серверами. APR1 подходит для самого широкого набора конфигураций.
- Почему нет старого формата DES crypt?
- У него низкая стойкость и ограничения по длине пароля. Генератор предлагает APR1 для совместимости и bcrypt при подтверждённой поддержке сервера.
- Отправляется ли пароль на Pugofka?
- Нет. Хеширование, копирование и скачивание выполняются в браузере; в Метрику уходит только слаг инструмента.
Нужна помощь с сайтом?
Поможем разобраться с технической задачей и оценить её решение.