.htpasswd
.htpasswd – nazwa pliku konfiguracyjnego przechowującego nazwy użytkowników i hasła wykorzystywane przez Apache do autoryzacji. Działa on w połączeniu z plikiem .htaccess lub bez niego, o ile wykonany został odpowiedni wpis w pliku konfiguracyjnym apache. Hasła szyfrowane są md5, sha, Blowfish lub systemowym crypt(). W jednym pliku .htpasswd mogą znajdować się hasła zaszyfrowane różnymi sposobami.
Do utworzenia pliku .htpasswd używa się programu htpasswd, który dostępny jest wraz z Apache.
htpasswd -c .htpasswd uzytkownik
Program poprosi o podanie hasła dla użytkownika "uzytkownik", które zostanie zapisane w pliku o podanej przez nas nazwie.
Żeby zabezpieczyć folder podanym hasłem, należy dodać do pliku .htaccess:
AuthType Basic
AuthName "Teren prywatny. Zakaz wstepu."
# !!! konieczne popraw ścieżkę na właściwą dla twojego serwera
AuthUserFile /absolutna/ścieżka/do/.htpasswd
Require valid-user
Plik .htaccess i .htpasswd muszą znajdować się w tym samym katalogu, jeśli tak nie jest, należy w AuthUserFile podać pełną ścieżkę do pliku .htpasswd
Aby dodać kolejnych użytkowników do pliku .htpasswd, należy ponownie użyć programu htpasswd
htpasswd .htpasswd uzytkownik2
Przykładowe wpisy do .htpasswd z użyciem różnych algorytmów
bcrypt
$ htpasswd -nbB myName myPassword myName:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC
MD5
$ htpasswd -nbm myName myPassword myName:$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/
SHA1
$ htpasswd -nbs myName myPassword myName:{SHA}VBPuJHI7uixaa6LQGWx4s+5GKNE=
CRYPT
$ htpasswd -nbd myName myPassword myName:rqXexS6ZhobKA
MD5 a dokładniej APR1 jest aktualnie uważany za zbyt słabe zabezpieczenie.