Zabezpieczenie strony hasłem

W poniższym artykule przedstawimy, w jaki sposób prosto zabezpieczyć dostęp do strony lub jej podkatalogu za pomocą podstawowego uwierzytelnienia serwera Apache.

Pierwszym krokiem jest dodanie odpowiedniej dyrektywy do pliku „.htaccess”, który powinien znajdować się w katalogu, jaki chcemy zabezpieczyć. Jeżeli nie ma takiego pliku, to należy go utworzyć.

AuthUserFile /home/moj-hosting/.htpasswd
AuthName "Podaj dane logowania."
AuthType Basic
Require valid-user

Istotne jest tutaj, aby podać pełną, bezwzględną ścieżkę do pliku „.htpasswd”. W pliku tym przechowywane będą dane służące do logowania na stronie. Ponadto ze względów bezpieczeństwa plik ten należałoby zapisać poza katalogiem strony np. w głównym katalogu konta lub w katalogu „websites”.

 

Kolejnym krokiem jest utworzenie pliku „.htpasswd”. Tworzymy więc nowy plik we wskazanej wcześniej lokalizacji. Plik ten zawiera listę użytkowników wraz z zakodowanymi hasłami. Przykładowo jego zawartość może wyglądać następująco:

Bonifacy:$2y$11$ijRTqfXBSy6FtvIxXiA82O7eA8nWBdsX3qVZcVYUXLgczZFadl0rO
Filemon:$2y$11$mSn8ULVt9Hlb9bnLVlncKe7W/qJsQB7vVbcHiig6LLnQwcdSwaLSu

Najprostszym sposobem, aby zaszyfrować hasła i wygenerować zawartość pliku „.htpasswd” jest skorzystanie z jednego z wielu dostępnych generatorów np. na stronie http://aspirine.org/htpasswd_en.html. Wystarczy wpisać listę użytkowników wraz z hasłami i kliknąć przycisk generowania pliku. Przy tym możemy skorzystać z domyślnego algorytmu szyfrowania MD5 lub nieco bezpieczniejszego algorytmu bcrypt. Kopiujemy zawartość wygenerowanego pliku i wklejamy go do naszego pliku „.htpasswd”.

 

basicauth - generator

 

Zabezpieczenia są już gotowe, teraz przy wejściu na stronę (lub podstronę) powinno nam się ukazać okno proszące o zalogowanie się:

 

basicauth - login