Plik .htpasswd
Plik .htpasswd to dokument konfiguracyjny, który przechowuje nazwy użytkowników oraz hasła używane przez Apache do autoryzacji. Może funkcjonować zarówno z plikiem .htaccess, jak i bez niego, pod warunkiem, że w pliku konfiguracyjnym Apache dokonano odpowiednich wpisów.
Hasła w tym pliku są szyfrowane za pomocą algorytmów takich jak md5, sha, Blowfish lub systemowego crypt(). Możliwe jest umieszczanie w jednym pliku .htpasswd haseł szyfrowanych różnymi metodami.
Aby stworzyć plik .htpasswd, można skorzystać z programu htpasswd, który jest dostarczany razem z Apache.
Przykład polecenia do utworzenia pliku: htpasswd -c .htpasswd użytkownik
Program poprosi o wprowadzenie hasła dla użytkownika „użytkownik”, które następnie zostanie zapisane w pliku o ustalonej przez nas nazwie.
Aby zabezpieczyć folder za pomocą hasła, należy dodać odpowiednią konfigurację do pliku .htaccess:
Warto pamiętać, że pliki .htaccess i .htpasswd muszą znajdować się w tym samym katalogu. Jeśli nie są w tej samej lokalizacji, należy w AuthUserFile podać pełną ścieżkę do pliku .htpasswd.
Aby dodać kolejnych użytkowników do pliku .htpasswd, ponownie używamy programu htpasswd:
htpasswd .htpasswd użytkownik2
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
Obecnie MD5, a dokładniej APR1, jest uznawane za zbyt słabe zabezpieczenie.