Jak ustawić dostęp do pliku/folderu jedynie po wpisaniu danych autoryzacyjnych

Czasem aby wykluczyć nieautoryzowany dostęp do folderu lub kliku konieczne jest dodanie blokady autoryzującej gdzie dostęp do danego zasobu zostanie uzyskany jedynie po wprowadzeniu poprawnego loginu oraz hasła.

Zabezpieczenie dostępu do folderu

Dostęp do folderu za pomocą danych autoryzacyjnych można ustawić na dwa sposoby:

1) Ustawienie blokady dostępu do folderu poprzez cPanel

Aby ustawić zabezpieczenie poprzez cPanel należy przejść do cPanel -> ochrona prywatności katalogów

Po przejściu ukażą się wszystkie foldery które znajdują się w katalogu domowym konta, aby zablokować folder strony należy przejść na początek do public_html poprzez naciśnięcie na nazwę folderu (rysunek poniżej) a następnie przy wybranym folderze domeny kliknąć edytuj (na potrzeby poradnika dodamy blokadę do folderu domeny domena-klienta.pl).

Po naciśnięciu edytuj należy zaznaczyć checkbox ,,chroń ten katalog hasłem,, i kliknąć zapisz

Po zapisaniu i ponownym powrocie na tę stronę będzie można wpisać nazwę użytkownika oraz hasło.
Po wpisaniu danych należy kliknąć zapisz.

Blokada na folder została ustawiona teraz po wejściu na stronę pokaże się okno logowania:

UWAGA

Gdyby po wejściu na stronę zamiast okna logowania ukazał się błąd 404 to do pliku .htaccess należy dodać zapis:

ErrorDocument 401 default

Po dodaniu takiego zapisu strona logowania powinna wyświetlać się poprawnie.

2) Ustawienie blokady dostępu do folderu poprzez .htaccess

Alternatywną możliwością ustawienia tego zabezpieczenia jest dodanie reguł do pliku .htaccess oraz stworzenie pliku z hasłem aby tego dokonać należy:

  1. Przejść do folderu aplikacji i edytować plik .htaccess
  2. W pliku .htaccess dodać następujący zapis:
    AuthType Basic
    AuthName "Protected 'To jest blokada folderu'"
    AuthUserFile "/home/user/.htpasswds/public_html/domena-klienta.pl/passwd"
    Require valid-user


    W AuthUserFile podajemy ścieżkę do pliku z hasłem (passwd) który zostanie utworzony w kolejnych krokach.
  3. Po dodaniu zapisu w .htaccess należy utworzyć plik passwd z loginem oraz hashem hasła w ścieżce która została zdefiniowana w poprzednim kroku (AuthUserFile). W pliku powinno to wyglądać następująco:
    login:hash_hasła
    Hash można wygenerować np. na stronie https://phppasswordhash.com/

Po dodaniu powyższych zapisów po wejściu w zablokowany katalog powinna pojawić się strona logowania gdzie należy wpisać wcześniej zdefiniowany login oraz hasło.

UWAGA

Gdyby po wejściu na stronę zamiast okna logowania ukazał się błąd 404 to do pliku htaccess

ErrorDocument 401 default

Po dodaniu takiego zapisu strona logowania powinna wyświetlać się poprawnie.

Zabezpieczenie dostępu do pliku

Aby zabezpieczyć dostęp do pliku jedynie po zautoryzowaniu należy dodać reguły do pliku .htaccess oraz stworzyć plik z hasłem aby tego dokonać należy:

  1. Przejść do folderu aplikacji i edytować plik .htaccess
  2. W pliku .htaccess dodać następujący zapis:
    <Files plik_do_blokady.php>
    AuthType Basic
    AuthName "Moja blokada dostępu do pliku"
    AuthUserFile /home/user/.htpasswds/public_html/domena-klienta.pl/.htpasswd
    Require valid-user
    </Files>


    Za plik_do_blokady.php należy podać nazwę pliku do którego dostęp ma być zabezpieczony.
    W AuthUserFile podajemy ścieżkę do pliku z hasłem (passwd) który zostanie utworzony w kolejnych krokach.
  3. Po dodaniu zapisu w .htaccess należy utworzyć plik passwd z loginem oraz hashem hasła w ścieżce która została zdefiniowana w poprzednim kroku (AuthUserFile). W pliku powinno to wyglądać następująco:
    login:hash_hasła
    Hash można wygenerować np. na stronie https://phppasswordhash.com/

Po dodaniu powyższych zapisów po wejściu w zablokowany katalog powinna pojawić się strona logowania gdzie należy wpisać wcześniej zdefiniowany login oraz hasło.

UWAGA

Gdyby po wejściu na stronę zamiast okna logowania ukazał się błąd 404 to do pliku .htaccess należy dodać zapis:

ErrorDocument 401 default

Po dodaniu takiego zapisu strona logowania powinna wyświetlać się poprawnie.

Tomasz

Dodaj komentarz