Tutorial - Chroń katalog lub interfejs administracyjny Twojej strony internetowej za pomocą plików .htaccess i .htpasswd
Informacje o tłumaczeniu
Tłumaczenie zostało wygenerowane automatycznie przez system naszego partnera SYSTRAN. W niektórych przypadkach mogą wystąpić nieprecyzyjne sformułowania, na przykład w tłumaczeniu nazw przycisków lub szczegółów technicznych. W przypadku jakichkolwiek wątpliwości zalecamy zapoznanie się z angielską/francuską wersją przewodnika. Jeśli chcesz przyczynić się do ulepszenia tłumaczenia, kliknij przycisk “Zgłoś propozycję modyfikacji” na tej stronie.
Wprowadzenie
Tutorial wyjaśnia, jak wdrożyć uwierzytelnienie "użytkownik/hasło", aby uzyskać dostęp do całej lub części Twojej strony WWW za pomocą przeglądarki internetowej.
Używając dwóch plików konfiguracyjnych (HTTP) Apache do umieszczenia w przestrzeni FTP Twojego hostingu www:
- ".htaccess": aby uzyskać więcej informacji na temat funkcjonalności tego pliku, zapoznaj się z naszym tutorial "Operacje możliwe do wykonania za pomocą pliku ".htaccess".
- ".htpasswd": oprócz tego tutoriala, zapoznaj się z oficjalną dokumentacją Apache dotyczącą tego pliku.
OVHcloud oddaje do Twojej dyspozycji usługi, których konfiguracja, zarządzanie i odpowiedzialność spoczywają na Ciebie. W związku z tym należy zapewnić ich prawidłowe funkcjonowanie.
Oddajemy w Twojej ręce niniejszy przewodnik, którego celem jest pomoc w jak najlepszym wykonywaniu bieżących zadań. W przypadku trudności zalecamy skorzystanie z pomocy wyspecjalizowanego usługodawcy i/lub kontakt z producentem oprogramowania. Niestety firma OVHcloud nie będzie mogła udzielić wsparcia w tym zakresie. Więcej informacji znajduje się w sekcji "Sprawdź również" niniejszego przewodnika.
Przykłady, które zostaną następnie wyświetlone, znajdują się w plikach o nazwie ".htaccess" i ".htpasswd". Uwaga, reguły, które określiłeś w tych plikach, mają bezpośrednie konsekwencje dla Twojej strony WWW. Sprawdź systematycznie dodawanie reguł przed ich wdrożeniem na Twojej stronie WWW.
Dowiedz się, jak zabezpieczyć katalog lub dostęp do administratora Twojej strony WWW za pomocą uwierzytelnienia za pomocą plików ".htaccess" i ".htpasswd".
Wymagania początkowe
- Posiadanie hostingu
- Posiadanie danych do logowania do przestrzeni FTP Twojego hostingu
W praktyce
Rozwiązanie w zakresie bezpieczeństwa proponowane tutaj jest tylko jedną z możliwości technicznych.
Należy na przykład wiedzieć, że w przypadku korzystania z Content Management System (CMS) dostępne są inne rozwiązania bezpieczeństwa.
Jeśli korzystasz z CMS WordPress, OVHcloud udostępnia również tutorial, w jaki sposób używać pliku htaccess przy użyciu WordPress.
W przypadku pytań związanych z tworzeniem, użytkowaniem lub programowaniem Twojej strony WWW, pomoc OVHcloud nie będzie w stanie udzielić Ci wsparcia w tym zakresie.
W tym celu skontaktuj się z naszą społecznością użytkowników lub naszymi partnerami OVHcloud.
Opiszemy 4 główne etapy, które należy wykonać, aby chronić dostęp do katalogu lub części Twojej strony WWW:
- Tworzenie plików "crypt.php", ".htaccess" i ".htpasswd";
- Wygeneruj zaszyfrowane hasła za pomocą pliku "crypt.php";
- Określenie użytkowników i haseł zaszyfrowanych za pomocą pliku ".htpasswd";
- Konfiguracja reguł w pliku ".htaccess" i usunięcie pliku "crypt.php".
Kolejne etapy optymalizują bezpieczeństwo przechowywanych danych. W związku z tym oraz w przypadku kompatybilności stron WWW z Twoimi usługami rekomendujemy użycie najnowszej wersji PHP.
Aby zmienić wersję PHP swoich stron www na Twoim hostingu, zapoznaj się z naszym przewodnikiem "Hosting WWW : środowisko, wersja PHP, .ovhconfig".
Skrypty i informacje opisane poniżej w tym tutorialu działają jedynie w środowisku wykonawczym oraz w najnowszej wersji PHP.
W przeciwnym razie zalecamy zoptymalizowanie Twojej strony WWW, aby uczynić ją kompatybilną przed wdrożeniem tego, co nastąpi. Dzięki temu zmniejszy się ryzyko włamania się do Twoich danych z powodu luk w zabezpieczeniach.
Etap 1: tworzenie plików "crypt.php", ".htaccess" i ".htpasswd"
Zaloguj się do przestrzeni dyskowej FTP Twojego hostingu. Otwórz "katalog główny", do którego wskazuje Twoja domena.
Utwórz plik "crypt.php" w tym katalogu głównym.
Otwórz lub utwórz folder przeznaczony do ochrony Twojej strony WWW. W poniższym przykładzie będzie to folder "admin". Utwórz w tym katalogu plik ".htpasswd" oraz plik ".htaccess".
Aby poprawnie korzystać z plików ".htaccess" i ".htpasswd", musisz znać i przestrzegać następujących zasad:
- tylko jeden plik ".htaccess" i tylko jeden plik ".htpasswd" w katalogu lub podkatalogu, aby uniknąć konfliktów między różnymi plikami ".htaccess" i różnymi ".htpasswd";
- pliki ".htaccess" i ".htpasswd" są niewidoczne dla użytkowników odwiedzających Twoją stronę internetową;
- reguły zadeklarowane w pliku ".htaccess" mają zastosowanie do całego katalogu, w którym zainstalowany jest plik ".htaccess", oraz do wszystkich podkatalogów tego katalogu;
- pliki ".htpasswd" i ".htaccess" mogą być w różnych folderach. Tylko jeden plik ".htpasswd" może być używany dla kilku ".htaccess".
Etap 2: uzupełnij plik "crypt.php"
Przejdź do katalogu głównego, w którym utworzyłeś plik "crypt.php". Kliknij polecenie Edytuj i umieść następujące wiersze:
Zastąp wyłącznie hasłem plain_text_password w języku niekodowanym, które chcesz zaszyfrować.
Możesz dostosować skrypt do liczby haseł, które chcesz zaszyfrować.
- Przykład, w którym skrypt PHP zaszyfruje 3 haseł w jednej operacji:
Zastąp wyłącznie plain_text_password1, plain_text_password2 i plain_text_password3 hasłami w języku niekodowanym"które chcesz zaszyfrować.
Oba powyższe skrypty wykorzystują w dniu dzisiejszym najbezpieczniejszą metodę szyfrowania za pomocą algorytmu bcrypt zalecanego przez Apache.
Więcej informacji na ten temat znajdziesz w oficjalnej dokumentacji Apache.
Jeśli dysponujesz hostingiem Pro lub Performance, zaloguj się do hostingu za pomocą SSH. Przejdź do "katalog główny", w którym znajduje się Twój skrypt "crypt.php".
W tym celu użyj następującej komendy SSH:
Zastąp Name_of_your_root_folder nazwą Twojego "katalogu głównego" i zapisz, gdzie znajduje się skrypt "crypt.php".
Jeśli na przykład Twój plik "crypt.php" znajduje się w podfolderze Twojego "katalogu głównego", użyj następującej komendy SSH:
Zastąp Name_of_your_root_folder nazwą "głównego katalogu" i sub_folder podfolderem, w którym znajduje się Twój skrypt "crypt.php".
Gdy tylko znajdziesz się na poziomie skryptu "crypt.php", wprowadź następującą komendę:
Ze względów bezpieczeństwa zaleca się korzystanie z SSH. Jeśli jednak dysponujesz usługą Starter lub Perso, dla której SSH jest niedostępny, możesz również uruchomić plik "crypt.php" za pomocą przeglądarki internetowej.
W tym celu wprowadź następujący adres URL: https://domain.tld/crypt.php poprzez modyfikację domain.tld przez Twoją własną domenę. Znajduje się to bezpośrednio na pasku adresowym przeglądarki internetowej.
Pobierz zaszyfrowane hasła bez kopiowania le "<br />", jeśli wpiszesz komendę "php crypt.php" przez SSH:
Wartości encrypted_password1, encrypted_password2 i encrypted_password3 muszą na przykład wyglądać w formacie następującego wiersza:
Sprawdź, czy Twoje zaszyfrowane hasło (hasła) zaczyna się $2y$. Potwierdzi to, że hasło a (i) zostało zaszyfrowane za pomocą zabezpieczonego algorytmu bcrypt.
Etap 3: zdefiniować użytkowników i zaszyfrowane hasła z plikiem ".htpasswd"
Plik ".htpasswd" zawiera odpowiednie szyfrowane hasła dla każdego z użytkowników zadeklarowanych w pliku. Tylko ci użytkownicy będą mogli logować się do katalogu, który chcesz chronić dostęp.
W tym celu, dla każdego użytkownika w tym pliku, wpisz wiersz wskazujący jego identyfikator i zaszyfrowane hasło:
Zastąp wartość user1, user2 i user3 naszego przykładu własnymi nazwiskami użytkowników.
Zastąp również encrypted_password1, encrypted_password2 i encrypted_password3 własnymi zaszyfrowanymi hasłami pobranymi wcześniej.
Etap 4: skonfigurować reguły w pliku ".htaccess"
Zablokuj dostęp do kompletnego katalogu
W katalogu, który chcesz chronić, utwórz plik ".htaccess", używając następującego kodu:
W skrypcie powyżej zastąp następujące elementy własnymi wartościami:
"Indicates your login(s)"\: odpowiada użytkownikowi (użytkownikom) uprawnionemu(ym) do dostępu do pełnego katalogu. Jeśli masz wielu użytkowników, możesz je rozdzielić tylko za pomocą spacji.your_ftp_login: login FTP, którego używasz do logowania się do przestrzeni dyskowej FTP. Aby pobrać login FTP, zapoznaj się z naszym przewodnikiem dotyczącym logowania do przestrzeni FTP.root_folder/admin/.htpasswd: ścieżka dostępu do katalogu z katalogu głównego FTP Twojego hostingu do pliku ".htpasswd", który ma być używany do uwierzytelniania użytkowników autoryzowanych przez regułę zawartą w pliku ".htaccess".
Zablokuj dostęp do jednego lub kilku plików
Aby zablokować dostęp do jednego lub kilku plików, dodaj dyrektywa "Files" do pliku ".htaccess":
W skrypcie powyżej zastąp następujące elementy własnymi wartościami:
test.php: nazwa określonego pliku lub grupa plików zawierająca w naszym przykładzie test.php (termin, w odniesieniu do którego należy stosować ograniczenie dostępu)."Indicates your login(s)": odpowiada użytkownikowi (użytkownikom) uprawnionemu(-ym) do dostępu do plików, których nazwy zawierają test.php. Jeśli masz wielu użytkowników, możesz je rozdzielić na * przestrzeń*.your_ftp_login: login FTP, którego używasz do logowania się do przestrzeni dyskowej FTP. Aby pobrać login FTP, zapoznaj się z naszym przewodnikiem dotyczącym logowania do przestrzeni FTP.root_folder/admin/.htpasswd: ścieżka dostępu do katalogu z katalogu głównego FTP Twojego hostingu do pliku ".htpasswd", który ma być używany do uwierzytelniania użytkowników autoryzowanych przez dyrektywę pliku ".htaccess".
Należy podać dyrektywa "Files" dla każdego pliku do ochrony.
Dyrektywy "Kolejki" mają zastosowanie do wszystkich plików o tej samej nazwie lub kończących się określoną nazwą. Pod warunkiem, że są one zawarte w tym samym katalogu co ".htaccess" lub w jednym z jego podkatalogów.
W powyższej konfiguracji, tak jak "new_test.php" zawiera test.php*, dyrektywa "Files" miałaby również zastosowanie do pliku "new_test.php" zawartego w podkatalogu folderu "admin".
Ponadto, o ile użytkownik nie jest uwierzytelniony w celu uzyskania dostępu do plików objętych dyrektywą, mogą one nie pojawić się i nie mogą być "czytelne" za pomocą strony "index of".
Po zakończeniu uruchamiania plików ".htaccess" i ".htpasswd" usuń plik szyfrujący "crypt.php" z Twojego hostingu.
Sprawdź również
Logowanie do przestrzeni FTP hostingu WWW
Przewodnik - Operacje możliwe do wykonania za pomocą pliku ".htaccess"
Zablokuj dostęp do mojej strony dla niektórych adresów IP przez plik .htaccess
Prześlij link dostępowy do mojej strony za pomocą mod_rewrite za pomocą pliku .htaccess
W przypadku wyspecjalizowanych usług (pozycjonowanie, rozwój, etc.) skontaktuj się z partnerami OVHcloud.
Jeśli chcesz otrzymywać wsparcie w zakresie konfiguracji i użytkowania Twoich rozwiązań OVHcloud, zapoznaj się z naszymi ofertami pomocy.
Dołącz do grona naszych użytkowników.