Wprowadzenie
Zawsze warto dodać ochronę hasłem do któregokolwiek z folderów / stron internetowych witryny, jeśli chcesz ograniczyć dostęp do nich. Ważniejsza jest metoda stosowania tego samego. Możemy użyć PHP do autoryzacji informacji na każdej stronie, ale to nie chroni twoich zdjęć ani żadnych innych mediów, prawda? Możemy więc użyć innej metody znanej jako Dostęp do ochrony hasłem?or htaccess authentication. Jest niezawodny i znacznie łatwiejszy.
Cel
Ten blog pomoże Ci dowiedzieć się, jak ograniczyć dostęp do witryny przed nieautoryzowanymi użytkownikami.
Wykonaj poniższe czynności:
Krok 1. Aby korzystać z Dostęp do ochrony hasłem musimy utworzyć dwa pliki w katalogu, w którym chcesz ograniczyć dostęp: –
1) .htaccess
2) plik .htpasswd
Krok 2. Dodaj następujący kod w pliku .htaccess, który utworzyłeś w kroku 1.
Kod .htaccess
AuthType Basic AuthName „No Access” AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd wymaga poprawnego użytkownika
Uwaga: Możesz zastąpić „C: / wamp64 / www / test_project /” własną strukturą katalogów. Powyższy kod (dyrektywy) opisano poniżej:
ja.) AuthType Z dyrektywy AuthType można wybrać metodę używaną do uwierzytelnienia użytkownika.
ii.) AuthName Replace ”Brak dostępu„do dowolnej nazwy zgodnie z Twoimi wymaganiami. Nazwa ta zostanie wyświetlona w oknie alertu, gdy użytkownik spróbuje otworzyć stronę chronioną przez htaccess.AuthName?directive sets the?domain?to be used in the authentication.
Once a client has passed the authentication in the?”Brak dostępu„strefa, nie ma potrzeby wprowadzania hasła, aby uzyskać dostęp do jakiegokolwiek innego pliku w tej samej strefie na tym samym serwerze. Dlatego, aby uniemożliwić użytkownikowi wielokrotne wprowadzanie hasła, pozwalając wielu ograniczonym obszarom na współużytkowanie tej samej domeny.
iii.) AuthUserFile
- Musisz dodać ścieżkę .htpasswd zamiast „C: /wamp64/www/test_project/self_stitch/.htpasswd”.
- "AuthUserFile„Wartość jest zawsze specyficzna dla konfiguracji hosta.
- Jeśli nie wiesz, jaka powinna być wartość, zrób
- W tym celu wystarczy dodać linię „<? Php phpinfo ();?>” W pliku phpinfo.php. Możesz znaleźć plik phpinfo.php w folderze głównym (www dla localhost), a następnie uruchomić plik phpinfo.php w przeglądarce. Na przykład na localhost uruchom localhost / phpinfo.php
UWAGA:
1.Aby zabezpieczyć hasłem więcej niż jeden plik w tym samym folderze, wystarczy utworzyć więcej bloków <Files> </Files> w tym samym pliku .htaccess – na przykład:
AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName "My Secret Page" <Pliki "mypage.html"> Wymagaj poprawnego użytkownika </Files> <Pliki "myotherpage.html"> Wymagaj poprawnego użytkownika </Files>
2. Aby zezwolić użytkownikom na dostęp tylko do określonych typów plików, musisz dodać następujący kod:
AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName "My Secret Page" # deny * everything * <FilesMatch ". *"> Order Allow, Deny Deny from all </FilesMatch> # Zezwalanie na * tylko * niezbędne * pliki <FilesMatch ". * (Php | html | css | js | JS | CSS) $"> Zamów zezwolenie, odmów zezwalania ze wszystkich </FilesMatch>
Tutaj najpierw ograniczamy dostęp do wszystkiego za pomocą <FilesMatch ". *">, A następnie pozwalamy na dostęp tylko niektórym plikom (php, html, css, js) za pomocą <FilesMatch ". * (Php | html | css | js | JS | CSS) $ "> Nasz przykład nie zezwala na dostęp do innych plików np. .jpg, .png, itp. Możesz także zezwolić na dostęp z określonego adresu IP za pomocą „pozwalają z 12.34.56.78" zamiast używać "pozwalają z każdego“.
3. Aby dodać hasło htaccess tylko do określonych typów plików, musisz dodać następujący kod:
AuthType Basic AuthName "obszar zastrzeżony" AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd #, ale teraz zezwalaj na * tylko * niezbędne pliki: <FilesMatch ". * (Txt) $"> wymagaj poprawnego użytkownika < / FilesMatch>
Korzystając z powyższego kodu, wszystkie pliki będą dostępne bez hasła, ale pliki z rozszerzeniem .txt będą wymagały nazwy użytkownika i hasła, aby uzyskać do nich dostęp.
4. Jeśli chcesz zastosować hasło htaccess dla wszystkich plików oprócz jednego, dodaj następujący kod:
AuthType Basic AuthName "obszar zastrzeżony" AuthUserFile C: /wamp64/www/test_project/self_stitch/.htpasswd <PlikiMatch ". *"> Wymagaj poprawnego użytkownika </FilesMatch> # ale teraz zezwalaj na * tylko * niezbędne * pliki: <FilesMatch " . * (txt) $ "> Wymagaj wszystkich przyznanych </FilesMatch>
W powyższym przykładzie, z wyjątkiem plików .txt, wszystkie inne pliki będą wymagały nazwy użytkownika i hasła.
iv.) wymagać
Linia "wymagać prawidłowego użytkownika„oznacza dowolnego użytkownika określonego w Twoim
Krok 3. Dodaj nazwę użytkownika i hasło w pliku .htpasswd zgodnie z poniższym opisem:
Kod .htpasswd
john:$apr1$DObQIej5$0ZmEaLN42GEz/XJEiJXh9.
ja.) The
ii.) Hasła są szyfrowane za pomocą MD5 dla celów bezpieczeństwa.
iii.) Jak widać powyżej, tylko użytkownik 1 jest dozwolony, tj. Jan z hasłem: Rzeczywiste hasło: egypt4721 Zaszyfrowane hasło: $ apr1 $ DObQIej5 $ 0ZmEaLN42GEz / XJEiJXh9. (Zaszyfrowane przy użyciu MD5).
iv.) Aby wygenerować plik .htpasswd, użyj linku podanego poniżej:
https://www.htaccesstools.com/htaccess-authentication/
Po utworzeniu pliku .htaccess i .htpasswd w katalogu, który chcesz chronić, po otwarciu witryny zostanie wyświetlony alert. Zobacz poniższy zrzut ekranu:
Kliknij tutaj pobrać przykładowy projekt z zabezpieczonym hasłem .htaccess.