Po pierwsze generujesz sobie plik z hasłem dostępowym i loginem użytkownika:
htpasswd -bc .plik_hasel user_login user_password
Opcja -bc powoduje utworzenie nowego, lub nadpisanie starego pliku o podanej nazwie. Para user:password zostanie zapisana w postaci tekstu. Hasło jest haszowane domyślnie algorytmem md5.
Po wykonaniu mcedit .plik_hasel zobaczymy coś mniej więcej takiego:
Aby dodać kolejnego użytkownika, mającego dostęp do zasobów, bez usuwania poprzednio wprowadzonych, wywołujemy htpasswd bez opcji -c:
htpasswd -b .plik_hasel inny_login inny_password
Plik haseł będzie miał postać podobną do:
user_login:tVDOvOT3QFkuw
inny_login:7ArYaWgv2rkTQ
Następnie generujemy plik .htaccess, który będzie nam ograniczał dostęp do katalogu:
ErrorDocument 401 /strona.html
AuthUserFile /home/moj_user/www/plik_hasel
AuthGroupFile /dev/null
AuthName “Katalog prywatny”
AuthType Basic
require valid-user
ErrorDocument 401 podmienia domyślną stronę o odmowie dostępu na naszą strona.html (gdzie możemy umieścić np. ładny obrazek z zakazem wjazdu).
AuthUserFile zawiera ścieżkę dostępu do pliku z hasłami
AuthGroupFile rzadko stosowane, pozwala uzyskiwać dostęp określonej grupie użytkowników, my to 'wywalamy' do /dev/null
AuthName informacja, jaką wyświetli przeglądarka użytkownika
AuthType typ uwierzytelniania (podstawowy)
require informacja, którzy użytkownicy mogą otrzymać dostęp (valid user, a więc user zweryfikowany, podał login i hasło)
Jak to działa:
Przeglądarka wysyła GET do serwera, który odczytuje plik .htaccess i żąda uwierzytelnienia. Przeglądarka wyświetla monit logowania. Wpisujesz login i password, które zostaje zapamiętane przez przeglądarkę na czas bieżącej sesji. Za każdym razem, gdy klikasz link na stronie chronionej w ten sposób, serwer żąda uwierzytelnienia. Abyś nie musiał co chwilę klepać loginu i hasła, przeglądarka wysyła je automatycznie w odpowiedzi na żądanie serwera. Po wyłączeniu przeglądarki login i password zostają usunięte z pamięci, tak więc następnym razem zostaniesz ponownie poproszony o ich wpisanie.
Plik haseł możesz umieścić w lokalizacji chronionej za pomocą .htaccess.
Aby mechanizm działał musisz mieć wkompilowany w apache'a moduł
mod_auth
PS Tyle się rozpisałem, a odpowiedź nadeszła już wcześniej
![Smile :)](./images/smilies/icon_smile.gif)