Czasem chcemy zabezpieczyć jakiś katalog z ważnymi danymi albo też stronę przed nieuprawnionym dostępem. Bardzo łatwo to zrobić korzystając z możliwości jakie daje serwer apache. Wystarczy skorzystać z pliku .htaccess i .htpasswd. Pliki te mają nietypową nazwę, a właściwie rozszerzenie, po prostu ich nazwy zaczynają się od kropki.
Plik .htpasswd będzie przechowywał listę uprawnionych użytkowników wraz z ich hasłami.
Hasła przechowywane w tym pliku są zakodowane. Należy je wygenerować np. korzystając ze strony http://home.flash.net/cgi-bin/pw.pl.
W sieci jest dostępnych wiele generatorów. Na stronie http://taat.pl/htpasswd jest bardziej rozbudowany formularz.
Mając wygenerowane hasło tworzymy plik
.htpasswd
np. w Notatniku Windows o treści:
(tutaj hasłem jest słowo: “haslo”).
(wpisujemy tyle loginów i haseł ile potrzeba, w środku dwukropek, każdą parę w osobnej linijce)
Plik ten umieszczamy w katalogu nadrzędnym dla katalogu chronionego, np. w katalogu głównym serwera.
Jeśli nie znamy ścieżki dostępu do pliku to tworzymy plik
sitepath.php
o treści:
echo dirname(__FILE__);
?>
wrzucamy go do tego samego katalogu serwera co .htpasswd i uruchamiamy w przeglądarce:
http://www.mojastrona.pl/katalog/sitepath.php
na monitorze zobaczymy ścieżkę do katalogu, w którym jest plik .htpasswd
Tą ścieżkę kopiujemy do pliku .htaccess
AuthUserFile sciezka_do_pliku/.htpasswd
Przykładowy plik .htaccess
AuthType Basic
AuthUserFile /home/nazwa_konta/ftp/katalog/.htpasswd
AuthGroupFile /dev/null
require valid-user
Ostatnia linijka w pliku ma być pusta (wstaw enter). Plik kopiujemy do katalogu, który chcemy zabezpieczyć.
Teraz przy każdym odwołanie do katalogu przeglądarka wyświetli monit o wpisanie hasła:
![]() |
Jeśli wprowadzisz błędne hasło zobaczysz komunikat, np .taki:
![]() |




12 listopada, 2009 o 10:27
Warto wspomnieć o tym, że wielu hostingodawców (właściwie wszyscy najwięksi) umożliwia edycję .htaccess z poziomu panela administratora.
Poprzez wypełnienie prostego formularza można uzyskać ten sam efekt, co dłubiąc w samym pliku .htaccess.
19 grudnia, 2009 o 19:01
[...] Niedawno pisałem jak chronić katalog hasłem korzystając z pliku .htpasswd na serwerze – katalog na hasło. [...]