Zabezpieczenie katalogów hasłem na serwerze WWW


Zabezpieczenie katalogów
Ochrona katalogów, katalogi na hasło.

Aby zabezpieczyć dany katalog hasłem wrzucamy do niego dwa pliki:

  • .htaccess: instrukcje do autoryzacji
  • .htpasswd: informacje o użytkownikach i ich zaszyfrowanych hasłach

.htaccess/.htpasswd to proste pliki ASCII, które możemy stworzyć za pomocą edytora tekstu jak prosty notatnik lub zaawansowany edytor programistyczny. Warto wspomnieć, że są to rozszerzenia plików, a nie nazwy.

Pliki te muszą być przesłane w trybie ASCII, nie BINARY. Nadajemy im CHMOD 644 (plik wykorzystywany przez serwer, ale uniemożliwia jej odczytania przez przeglądarki)

Najpierw tworzymy plik .htpasswd, który najlepiej umieścić poza obszarem publicznym.
Zaszyfrowane hasło możemy utworzyć w generatorach online:
https://www.htaccesstools.com/htpasswd-generator/
https://aspirine.org/htpasswd_en.html/
https://www.narzedzia.cprojekt.pl/htpasswd

Przykładowa zawartość pliku .htpasswd powinna wyglądać następująco:

uzytkownik:zdSVMujsXokkE

Można stworzyć kilka loginów i haseł. Należy jednak pamiętać, aby każdy wpis zaczynał się od nowej linii. Dla przykładu:

uzytkownik1:jf05LdXAvmanY
uzytkownik2:5z0GcRGJ.CitM
uzytkownik3:rhGPWeaHukQb

Mając już plik z zakodowanym hasłem, czas utworzyć plik .htaccess Dla ochrony katalogów wpisujemy następującą składnię:

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
lub
Require user janek franek iza

AuthType – typ uwierzytelniania
AuthName – nazwa obszaru (nazwa będzie widoczna w okienku przy podawaniu loginu i hasła)
AuthUserFile – pełna ścieżka serwera do pliku .htpasswd (nie jest to adres URL, to jest ścieżka serwera)
Require – użytkownicy uprawnieni do przeglądania zasobu. Zamiast wymieniać użytkownika z osobna, możemy posłużyć się parametrem valid-user – wówczas wszyscy użytkownicy mający odpowiednie wpisy w .htpasswd będą mogli się zalogować..

Jeśli nie znamy ścieżki dostępu do serwera, możemy uruchomić przez przeglądarkę internetową w tym katalogu skrypt wyświetlający ścieżkę dostępu do katalogu, z którego jest uruchamiany.

Można także skorzystać z bardzo ciekawego skryptu, który uruchamiamy z katalogu, którego chcemy zabezpieczyć. Po wpisaniu nazwy użytkownika i hasła, skrypt automatycznie zapisze pliki .htaccess/.htpasswd.

Przydatne strony z generatorami:
https://htaccess.lapti.pl/index.php#dol
https://taat.pl/narzedzia/htpasswd/index.php

W przypadku próby dostępu do zabezpieczonego katalogu pokaże się okienko autoryzacji proszące o nazwę użytkownika i hasło:
autoryzacja-www.jpg

Zabezpieczenie plików
Można także zabezpieczyć dostęp do plików z zewnątrz. Po wpisaniu adresu do pliku w przeglądarce wyświetli się komunikat o braku dostępu (Forbidden).
Wystarczy utworzyć tylko plik .htaccess o treści:

<files plik.php>
order allow,deny
deny from all
</files>

W ten sposób można zabezpieczyć sam plik .htaccess umieszczając w nim taki zapis. Zamiast plik.php wpisujemy nazwę pliku, który ma być zablokowany.

# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>
# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

Można też zabezpieczyć plik hasłem dostępu, podobnie jak katalogi. Tutaj potrzebne będą oba pliki, a plik .htaccess ma składnię (możliwość ochrony kilku plików):

AuthType Basic
AuthName "My Protected Area"
AuthUserFile /path/to/.htpasswd
<files plik1.php>
require valid-user
</files>
<files plik2.php>
require valid-user
</files>

Przykład zabezpieczenia pliku odpowiadającego za logowanie do WordPress:

RewriteEngine On
<FilesMatch "wp-login.php">
AuthName "OBSZAR CHRONIONY"
AuthType Basic
AuthUserFile /home/xxx/domains/www.pl/.htpasswd/public_html/.htpasswd
Require valid-user
</FilesMatch>
ErrorDocument 401 "Unauthorized Access"
ErrorDocument 403 "Forbidden"


2 komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *