Generator .htpasswd
Wpisz nazwę użytkownika i hasło – generator stworzy linię do pliku .htpasswd z bezpiecznym hashem. Możesz też wygenerować losowe hasło.
Czym jest plik .htpasswd?
.htpasswd to plik zawierający nazwy użytkowników i zahashowane hasła, używany do uwierzytelniania HTTP Basic Auth na serwerach Apache i Nginx. Pozwala zabezpieczyć dostęp do wybranych katalogów lub plików bez konieczności tworzenia systemu logowania.
Format pliku .htpasswd
Każda linia zawiera jednego użytkownika w formacie:
użytkownik:zahashowane_hasło
Przykład z różnymi algorytmami:
admin:$2y$10$LQ7M... (bcrypt)
user1:{SHA}W6ph5Mm... (SHA-1)
user2:$apr1$xyz$abc... (MD5 Apache)
Algorytmy hashowania
| Algorytm | Prefiks | Bezpieczeństwo | Zalecenie |
|---|---|---|---|
| bcrypt | $2y$ | Bardzo wysokie | Zalecany |
| SHA-256/512 | $5$ / $6$ | Wysokie | Dobry |
| MD5 (Apache) | $apr1$ | Niskie | Unikać |
| SHA-1 | {SHA} | Bardzo niskie | Nie używać |
| crypt | brak prefiksu | Minimalne | Przestarzały |
Konfiguracja Apache
Plik .htaccess
AuthType Basic
AuthName "Strefa chroniona"
AuthUserFile /ścieżka/do/.htpasswd
Require valid-user
Ochrona konkretnego katalogu
<Directory "/var/www/html/admin">
AuthType Basic
AuthName "Panel administracyjny"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
Konfiguracja Nginx
location /admin {
auth_basic "Panel administracyjny";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Nginx + wyłączenie auth dla określonych IP
location /admin {
satisfy any;
allow 192.168.1.0/24;
deny all;
auth_basic "Panel administracyjny";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Najlepsze praktyki bezpieczeństwa
- Używaj bcrypt – jedyny algorytm odporny na ataki brute-force (cost factor ≥ 10)
- Nie umieszczaj .htpasswd w katalogu publicznym – przechowuj poza document root
- HTTPS obowiązkowy – Basic Auth przesyła dane w Base64 (bez szyfrowania!)
- Silne hasła – minimum 12 znaków, mieszanka liter, cyfr i symboli
- Ogranicz próby logowania – skonfiguruj fail2ban lub rate limiting
- Regularnie zmieniaj hasła – szczególnie po odejściu osoby z zespołu
Zarządzanie użytkownikami
Dodawanie użytkownika (linia poleceń)
htpasswd -B /etc/apache2/.htpasswd nowy_user
Flaga -B wymusza bcrypt. Flaga -c tworzy nowy plik (uwaga – nadpisuje istniejący!).
Usuwanie użytkownika
htpasswd -D /etc/apache2/.htpasswd user_do_usuniecia
Ograniczenia Basic Auth
- Brak wylogowania – przeglądarka pamięta dane do zamknięcia
- Brak sesji – dane przesyłane z każdym żądaniem
- Prosty interfejs – brak możliwości stylowania okna logowania
- Brak 2FA – nie obsługuje dwuskładnikowego uwierzytelniania
- Wydajność – hashowanie bcrypt przy każdym żądaniu obciąża serwer
Kiedy używać .htpasswd?
- Ochrona panelu administracyjnego w fazie rozwoju
- Zabezpieczenie środowiska staging/testowego
- Prosty dostęp do prywatnych zasobów (dokumentacja, pliki)
- Dodatkowa warstwa ochrony (oprócz logowania w aplikacji)
Jeśli ten kalkulator był przydatny, sprawdź również: JSON, CV, Cytaty i więcej kalkulatorów.
Kalkulator zawiera walidację danych wejściowych i działa lokalnie w przeglądarce. Dzięki temu możesz szybko porównać różne scenariusze bez przesyłania danych na serwer.
Najczęstsze pytania (FAQ)
Co to jest .htpasswd?
.htpasswd to plik przechowujący pary użytkownik:hash_hasła. Używany przez Apache i Nginx do prostej autoryzacji HTTP (Basic Auth).
Czy Basic Auth jest bezpieczny?
Tylko przez HTTPS! Bez szyfrowania połączenia hasło jest przesyłane w Base64 (czytelnym). Z HTTPS jest akceptowalny do prostych zastosowań (staging, panel admina).
Jak skonfigurować Basic Auth na Apache?
Stwórz .htpasswd w katalogu, dodaj w .htaccess: AuthType Basic, AuthName "Restricted", AuthUserFile /path/.htpasswd, Require valid-user.