Utrzymanie bezpieczeństwa Twojej strony powinno być najwyższym priorytetem dla każdego administratora. WordPress jest bezpieczną platformą już od początku, ale to nie oznacza, że jest niepodatny na ataki. Na szczęście, nawet jeśli nie jesteś ekspertem od bezpieczeństwa, możesz użyć pliku o nazwie .htaccess, aby wzmocnić polityki bezpieczeństwa Twojej strony.
.htaccess to plik konfiguracyjny dla serwera Apache, który obsługuje wiele witryn WordPress. To potężne narzędzie, które pomaga chronić Twoją stronę i zwiększać jej wydajność poprzez drobne zmiany w kodzie. Edytując ten plik, możesz blokować użytkowników, tworzyć przekierowania, zapobiegać atakom, a nawet ograniczać dostęp do określonych części Twojej strony.
Wprowadzenie do pliku .htaccess
.htaccess to skrót od „HyperText Access”. Jest to plik konfiguracyjny, który określa, jak serwery oparte na Apache wchodzą w interakcję z Twoją stroną. W prostszych słowach, .htaccess kontroluje, jak można uzyskać dostęp do plików w katalogu. Można go traktować jako strażnika Twojej strony, ponieważ decyduje, kogo wpuszcza i co mu wolno robić.
Domyślnie, plik .htaccess jest zazwyczaj dołączony do twojej instalacji WordPress. Głównym celem tego pliku jest poprawa bezpieczeństwa i wydajności. Ponadto, umożliwia on również nadpisywanie ustawień serwera sieciowego.
Najprawdopodobniej znajdziesz swój plik .htaccess w głównym katalogu swojej strony. Ponieważ .htaccess dotyczy zarówno własnego katalogu, jak i wszelkich podkatalogów w tym głównym folderze, wpływa on na całą twoją stronę WordPress.
Warto również zauważyć, że plik .htaccess nie ma rozszerzenia pliku. Kropka na początku po prostu zapewnia, że plik pozostaje ukryty.
Jak edytować plik .htaccess w Twoim WordPressie
Edycja pliku .htaccess w praktyce jest tak prosta, jak edycja dowolnego innego pliku tekstowego. Jednak, ponieważ jest to plik główny, wprowadzenie do niego zmian może mieć niezamierzone konsekwencje.
Z tego powodu niezwykle ważne jest, abyś wykonał kopię zapasową swojej strony przed rozpoczęciem, niezależnie od tego, czy jesteś początkującym, czy doświadczonym deweloperem.
Gdy będziesz gotów do edycji pliku .htaccess, możesz uzyskać do niego dostęp za pomocą Secure File Transfer Protocol (SFTP) lub Secure Shell (SSH). Znajdziesz plik .htaccess w katalogu głównym swojej strony:
Otwórz plik za pomocą preferowanego edytora tekstu, takiego jak TextEdit lub Notepad. Jeśli plik nie był wcześniej edytowany, zobaczysz następujące domyślne informacje:
Ważne jest, aby nie dodawać ani nie zmieniać niczego pomiędzy tagami # BEGIN i # END. Zamiast tego, wszelki nowy kod powinien być dodany po tym bloku.
Na tym etapie wszystko, co musisz zrobić, to dodać swój kod i zapisać plik. Kiedy dodajesz kilka nowych funkcji, najlepiej jest zapisać i przetestować każdą z nich osobno. Jeśli wystąpi błąd, będzie to ułatwiało rozwiązywanie problemów, które spowodowała zmiana.
Chociaż prawie wszystkie instalacje WordPress już zawierają plik .htaccess, w niektórych przypadkach możesz potrzebować stworzyć taki plik. Możesz to zrobić za pomocą wybranego edytora tekstu, pod warunkiem że zapiszesz go pod prawidłową nazwą pliku: .htaccess bez rozszerzenia.
Jest również ważne, aby poprawnie skonfigurować ustawienia uprawnień pliku. Następnie możesz przesłać .htaccess do katalogu głównego Twojej strony.
9 rzeczy, które możesz zrobić z plikiem .htaccess w WordPressie
Teraz, gdy znasz już plik .htaccess, czas na bliższe spotkanie. Przedstawimy kilka sposobów, dzięki którym możesz łatwo zwiększyć bezpieczeństwo i wydajność swojej strony, edytując ten plik.
Po prostu użyj poniższych fragmentów kodu, które dostarczyliśmy, i pamiętaj, aby utworzyć kopię zapasową przed rozpoczęciem!
1. Odmów Dostępu do Części Twojej Strony
Jedną z najbardziej użytecznych rzeczy, które możesz zrobić z .htaccess, jest zablokowanie dostępu do niektórych stron i plików. Istnieje kilka plików, które powinieneś rozważyć ukrycie w ten sposób ze względów bezpieczeństwa, takich jak twój plik wp-config.php.
Możesz to zrobić, dodając poniższy kod, który spowoduje pojawienie się błędu 404, jeśli ktoś spróbuje wyświetlić plik:
<Files ~ "/wp-config.php"> Order Allow,Deny Deny from All </Files>
W przypadkach, gdy wrażliwe dane powinny być ukryte, może być przydatne ograniczenie dostępu do odpowiedniego katalogu. Ponieważ wiele stron WordPress korzysta z tej samej struktury folderów, taka konfiguracja może sprawić, że Twoja strona będzie podatna na ataki. Jeśli dodasz poniższą linię, wyłączy ona domyślną funkcjonalność wyświetlania listy katalogów:
Options -Indexes
To zatrzyma użytkowników i roboty przed przeglądaniem struktury twoich folderów. Jeśli ktokolwiek spróbuje uzyskać do niej dostęp, zostanie mu pokazana strona z błędem 403 zamiast tego.
2. Przekierowanie i Przepisywanie adresów URL
Tworzenie przekierowań umożliwia automatyczne wysyłanie użytkowników na określoną stronę. Przekierowania mogą być szczególnie przydatne, jeśli strona została przeniesiona lub usunięta, i chcesz, aby użytkownicy próbujący uzyskać do niej dostęp zostali przekierowani gdzie indziej.
Możesz to osiągnąć za pomocą pluginu takiego jak Redirection, ale można to również zrobić, edytując plik .htaccess. Aby utworzyć przekierowanie, użyj następującego kodu:
Redirect /oldfile.html http://www.example.com/newfile.html
Prawdopodobnie widzisz, co się tu dzieje. Pierwsza część to ścieżka do starego pliku, podczas gdy druga część to adres URL, na który chcesz przekierować odwiedzających.
3. Wymuś bezpieczne ładowanie Twojej strony z HTTPS
<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>
Jeśli dodałeś certyfikat SSL do swojej domeny, na przykład darmowy certyfikat Let’s Encrypt od DreamHost, dobrym pomysłem jest wymuszenie ładowania twojej strony za pomocą HTTPS. Zapewni to większe bezpieczeństwo zarówno dla ciebie, jak i twoich odwiedzających.
Możesz to osiągnąć, dodając następujący kod:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Twoja strona teraz automatycznie przekieruje wszystkie żądania HTTP i skieruje je do korzystania z HTTPS. Na przykład, jeśli użytkownik próbuje uzyskać dostęp do http://www.example.com, zostanie automatycznie przekierowany do https://www.example.com.
4. Zmień ustawienia pamięci podręcznej
Przechowywanie w pamięci podręcznej przeglądarki to proces, w którym pewne pliki witryny są tymczasowo zapisywane na lokalnym urządzeniu odwiedzającego, aby strony ładowały się szybciej. Używając .htaccess, możesz zmienić czas przechowywania plików w pamięci podręcznej przeglądarki, zanim zostaną zaktualizowane o nowe wersje.
Istnieje kilka różnych sposobów aby to zrobić, ale w tym przykładzie użyjemy funkcji o nazwie mod_headers. Poniższy kod zmieni maksymalny czas buforowania dla wszystkich plików jpg, jpeg, png i gif:
<ifModule mod_headers.c> <filesMatch ".(jpg|jpeg|png|gif)$"> Header set Cache-Control "max-age=2592000, public" </filesMatch>
Ustawiliśmy maksymalny czas na 2 592 000 sekund, co odpowiada 30 dniom. Możesz zmienić tę wartość, jeśli chcesz, jak również rozszerzenia plików, które zostaną objęte. Jeśli chcesz dodać inne ustawienia dla różnych rozszerzeń, po prostu dodaj więcej funkcji mod_header.
5. Zapobiegaj wybranym atakom iniekcji skryptów
Ataki przez wstrzykiwanie skryptów (lub ‘wstrzykiwanie kodu’) próbują zmienić sposób działania strony lub aplikacji poprzez dodanie nieprawidłowego kodu. Na przykład ktoś mógłby dodać skrypt do pola tekstowego na Twojej stronie, a następnie go wysłać, co mogłoby spowodować, że Twoja strona faktycznie uruchomi ten skrypt.
Możesz dodać następujący kod aby chronić przed niektórymi typami wstrzyknięć skryptów:
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
Twoja strona powinna teraz być w stanie wykrywać i zatrzymywać próby iniekcji skryptów oraz przekierowywać winowajcę na stronę index.php.
Jednakże ważne jest, aby zauważyć, że ten przykład nie ochroni przed wszystkimi rodzajami ataków iniekcji. Mimo że ten konkretny kod może być użyteczny, nie powinieneś go stosować jako jedynej ochrony przed tego typu atakiem.
6. Zatrzymaj Ataki Enumeracji Nazw Użytkowników
Wyliczenie nazw użytkowników to proces, w którym zbierane są nazwy użytkowników z twojej strony poprzez analizowanie strony autora każdego użytkownika. Jest to szczególnie problematyczne, jeśli komuś uda się znaleźć twoją nazwę administratora, co znacznie ułatwia botom dostęp do twojej strony.
Możesz pomóc zapobiec wyliczaniu nazw użytkowników, dodając następujący kod:
RewriteCond %{REQUEST_URI} !^/wp-admin [NC] RewriteCond %{QUERY_STRING} author=d RewriteRule .* - [R=403,L]
To zatrzyma niektóre próby wyliczania nazw użytkowników i zamiast tego wyświetli stronę błędu 403. Pamiętaj, że to nie zapobiegnie wszystkim wyliczeniom, dlatego powinieneś dokładnie przetestować swoje zabezpieczenia. Zalecamy również wzmocnienie strony logowania poprzez wdrożenie Wieloskładnikowego Uwierzytelnienia.
7. Zapobiegaj Hotlinkowaniu Obrazów
Hotlinkowanie obrazów to powszechny problem, który występuje, gdy obrazy na Twoim serwerze są wyświetlane na innej stronie. Możesz temu zapobiec, dodając następujący kod do .htaccess:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC] RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]
Zamień example.com na swoją własną domenę, a ten kod zapobiegnie ładowaniu obrazów na wszystkich innych stronach. Zamiast tego załaduje się obraz, który określisz w ostatniej linii. Możesz tego użyć, aby wysłać alternatywny obraz na strony, które próbują wyświetlać grafikę z Twojego serwera.
Uważaj, że może to powodować problemy, gdy chcesz, aby obrazy pojawiały się na zewnątrz, na przykład w wyszukiwarkach. Możesz również rozważyć linkowanie do skryptu zamiast statycznego obrazu, a następnie odpowiedzieć obrazem ze znakiem wodnym lub obrazem zawierającym reklamę.
8. Zarządzaj swoimi rozszerzeniami plików
Korzystając z .htaccess, możesz kontrolować sposób ładowania plików o różnych rozszerzeniach przez Twoją stronę. Można zrobić wiele za pomocą tej funkcji, takich jak uruchamianie plików jako PHP, ale na razie przyjrzymy się prostemu przykładowi.
Następujący kod usuń rozszerzenie pliku z plików PHP podczas ich ładowania. Możesz użyć tego dla dowolnego typu pliku, pod warunkiem że zastąpisz wszystkie wystąpienia „php” na rozszerzenie, które chcesz:
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/ RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/ RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301] RewriteRule ^([a-z]+)$ /$1.php [L]
To spowoduje, że wszystkie pliki PHP zostaną załadowane bez wyświetlania ich rozszerzenia w adresie URL. Na przykład plik index.php będzie wyświetlany jako tylko index.
9. Wymuś Pobieranie Plików
Ostatecznie, gdy na Twojej stronie żądany jest plik, domyślne zachowanie polega na wyświetleniu go w przeglądarce. Na przykład, jeśli hostujesz plik audio, zostanie on odtworzony w przeglądarce zamiast być zapisany na komputerze odwiedzającego.
Możesz to zmienić, wymuszając pobranie pliku przez stronę. Można to zrobić za pomocą następującego kodu:
AddType application/octet-stream mp3
W tym przykładzie użyliśmy plików mp3, ale możesz użyć tej samej funkcji dla txt, mov lub innych odpowiednich rozszerzeń.
Popraw Bezpieczeństwo i Wydajność Twojej Strony
Plik .htaccess zapewnia elastyczność w kontrolowaniu zachowania serwera internetowego. Możesz go również użyć, aby zwiększyć wydajność swojej strony i uzyskać większą kontrolę nad tym, kto może uzyskać dostęp do jakich informacji.
Za pomocą .htaccess, możesz zablokować dostęp do określonych części swojej strony internetowej. Dodatkowo umożliwia on przekierowywanie adresów URL, wymuszenie ładowania strony przez HTTPS oraz zapobieganie niektórym atakom polegającym na wstrzykiwaniu skryptów.
Edytowanie pliku .htaccess to tylko jeden ze sposobów na poprawę bezpieczeństwa Twojej strony. Wybór bezpiecznego dostawcy hostingu WordPress to kolejny. Sprawdź nasze plany hostingu zarządzanego DreamPress, aby zobaczyć, jak możemy zwiększyć bezpieczeństwo i wydajność Twojej strony!
Zrób Więcej z DreamPress
Użytkownicy DreamPress Plus i Pro mają dostęp do Jetpack Professional (oraz 200+ premium themes) bez dodatkowych kosztów!
Sprawdź Plany