.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.

Zobacz też