Bezpieczeństwo WordPress jest jednym z najbardziej zagrożonych czynników wśród początkujących blogerów. W nienadzorowanej instalacji WordPress istnieje kilka potencjalnych słabych punktów, które pozostają bez nadzoru. Większość samouczków instalacji WordPress wyjaśnia szybki i łatwy sposób wdrożenia WordPress w kilka minut. Ale brakuje im kilku ważnych czynników bezpieczeństwa. Na przykład przeglądanie katalogu i używanie nazwy użytkownika „admin” są uważane za poważne luki bezpieczeństwa. Dzisiaj przyjrzymy się 10 fragmentom kodu .htaccess, które pomogą poprawić bezpieczeństwo Twojego bloga WordPress. Zanim zaczniemy, rzućmy okiem na plik htaccess.


Co to jest plik .htaccess?

Plik htaccess to opcjonalny plik konfiguracyjny, który serwer WWW Apache ma interpretować dla każdego katalogu. W tym pliku możesz przechowywać różne ustawienia, takie jak: hasło do ochrony katalogu, blokowanie adresów IP, blokowanie pliku lub folderu przed dostępem publicznym itp. Tradycyjnie plik .htaccess jest obecny w podstawowym katalogu instalacyjnym WordPress. Domyślnie przechowuje strukturę permalink.

WSKAZÓWKA: Przed rozpoczęciem korzystania z samouczka należy wykonać kopię zapasową bieżącego pliku .htaccess (jeśli jest dostępny) w usłudze przechowywania w chmurze, takiej jak Dropbox. Ma to na celu przywrócenie ostatniego znanego działającego pliku .htaccess, jeśli jakiś fragment kodu powoduje uszkodzenie witryny. Zaczynajmy.

1. Blokuj złe boty

złe boty

Jednym z najlepszych zastosowań pliku .htaccess jest możliwość odmowy dostępu wielu adresów IP do Twojej witryny. Jest to przydatne podczas blokowania znanych spamerów i innych źródeł podejrzanego lub złośliwego dostępu. Kod to:

# Zablokuj co najmniej jeden adres IP.
# Zamień IP_ADDRESS_ * na IP, który chcesz zablokować


pozwolenie na zamówienie, odmowa
odmowa z adresu IP_ADDRESS_1
odmowa z adresu IP_ADDRESS_2
pozwalają od wszystkich

Gdzie IP_ADDRESS_1 to pierwszy adres IP, którego chcesz uniemożliwić dostęp do swojej witryny. Możesz dodać tyle adresów IP, ile chcesz. Bez względu na to, jakich programów użytkownika (przeglądarek) używają te adresy IP, nie będą one mogły uzyskać dostępu do jednego pliku z Twojego serwera. Serwer automatycznie odmówi dostępu.

2. Wyłącz przeglądanie katalogu

wordpress htaccess hack wyłącza przeglądanie katalogów

Jest to jedna z najbardziej podważonych luk bezpieczeństwa w witrynie WordPress. Domyślnie serwer Apache umożliwia przeglądanie katalogów. Oznacza to, że wszystkie pliki i foldery w katalogu głównym (czasem nazywanym katalogiem domowym) serwera WWW są rejestrowane i dostępne dla odwiedzających. Nie chcesz tego, ponieważ nie chcesz, aby użytkownicy przeglądali Twoje pliki multimedialne lub pliki motywów lub wtyczek.

Jeśli losowo wybiorę 10 witryn osobistych lub biznesowych z systemem WordPress, 6-8 z nich nie będzie mieć wyłączonego przeglądania katalogów. To pozwala ktoś łatwo węszyć wokół wp-content / uploads folder lub inny katalog, który nie ma wartości domyślnej index.php plik. W rzeczywistości zrzut ekranu, który widzisz, pochodzi z jednej z witryn mojego klienta, zanim zaleciłem poprawkę. Fragment kodu, aby wyłączyć przeglądanie katalogu:

# Wyłącz przeglądanie katalogu
Opcje Wszystkie -Indeksy

3. Zezwalaj tylko na wybrane pliki z zawartości wp

shutterstock_108312266

Jak wiesz wp-content folder zawiera najwięcej Twoich motywów, wtyczek i wszystkich przesłanych multimediów. Na pewno nie chcesz, aby ludzie mieli do niego dostęp bez ograniczeń. Oprócz wyłączenia przeglądania katalogów możesz również odmówić dostępu do wszystkich typów plików, z wyjątkiem kilku. Zasadniczo możesz selektywnie odblokowywać pliki takie jak JPG, PDF, DOCX, CSS, JS itp. I odmawiać reszty. Aby to zrobić, wklej ten fragment kodu do pliku .htaccess:

# Wyłącz dostęp do wszystkich typów plików oprócz poniższych
Zamówienie odmów, zezwól
Odmowa od wszystkich

Pozwól od wszystkich

Musisz utworzyć nowy plik .htaccess z kodem i wkleić go w pliku wp-content teczka. Nie umieszczaj tego w podstawowym katalogu instalacyjnym – inaczej to nie zadziała. Możesz także dodać dowolny typ pliku do listy, dodając „|” po „rar”. Powyższa lista zawiera niezbędne pliki – XML, CSS i JavaScript, popularne formaty obrazów i dokumentów oraz wreszcie najczęściej używane formaty archiwów.

4. Ogranicz dostęp do wp-obejmuje

shutterstock_135573032

The wp-zawiera folder zawiera tylko pliki, które są absolutnie niezbędne do uruchomienia podstawowej wersji WordPress – jeden bez żadnych wtyczek ani motywów. Pamiętaj, że domyślny motyw nadal znajduje się w wp-content / theme informator. Dlatego żaden odwiedzający (w tym ty) nie powinien wymagać dostępu do treści wp-include teczka. Możesz wyłączyć dostęp za pomocą tego fragmentu kodu:

# Blokuj wp-zawiera folder i pliki

RewriteEngine On
RewriteBase /
RewriteRule ^ wp-admin / obejmuje / - [F, L]
RewriteRule! ^ Wp-zawiera / - [S = 3]
RewriteRule ^ wp-zawiera / [^ /] + \. Php $ - [F, L]
RewriteRule ^ wp-zawiera / js / tinymce / langs /.+ \. Php - [F, L]
RewriteRule ^ wp-zawiera / theme-zgodność / - [F, L]

5. Zezwalaj tylko wybranym adresom IP na dostęp do wp-admin

shutterstock_140373169

The wp-admin folder zawiera pliki wymagane do uruchomienia pulpitu WordPress. W większości przypadków odwiedzający nie potrzebują dostępu do pulpitu WordPress, chyba że chcą zarejestrować konto. Dobrym środkiem bezpieczeństwa jest umożliwienie dostępu tylko kilku wybranym adresom IP wp-admin teczka. Możesz zezwolić na adresy IP osób potrzebujących dostępu do pulpitu WordPress – redaktorów, współpracowników i innych administratorów. Ten fragment kodu umożliwia dostęp tylko do stałych adresów IP wp-admin folder i odmawia dostępu do reszty świata.

# Limit logowania i administratora przez IP

odmowa zamówienia, zezwolenie
Odmowa od wszystkich
zezwolić od 302.143.54.102
zezwól na IP_ADDRESS_2

Upewnij się, że utworzyłeś nowy plik .htaccess i wkleiłeś go do folderu wp-admin, a nie do podstawowego katalogu instalacyjnego. Jeśli to ten ostatni, nikt oprócz Ciebie nie będzie mógł przeglądać Twojej witryny – nawet wyszukiwarek! Na pewno tego nie chcesz. Kilka wad tego środka jest następujące:

  • Jeśli Twoja witryna pozwala lub promuje Rejestracja nowego użytkownika, śledzenie liczby użytkowników byłoby prawie niemożliwe. Na przykład w WPExplorer, jeśli chcesz pobrać nasze niesamowite darmowe motywy, musisz się zarejestrować.
  • Ludzie z dynamiczne adresy IP (głównie użytkownicy szerokopasmowego Internetu ADSL używający protokołów PPP lub PPPoE) zmieniają swoje adresy IP za każdym razem, gdy się wylogowują i logują do swojego dostawcy usług internetowych. Z pewnością śledzenie wszystkich tych adresów IP i dodawanie ich do pliku htaccess byłoby niepraktyczne.
  • Mobilny Internet szerokopasmowy: Bez względu na to, czy korzystasz z 3G, czy 4G, Twój adres IP zależy od bieżącej wieży komórkowej, z którą jesteś połączony. Powiedzmy, że podróżujesz – Twoje IP będzie się ciągle zmieniać z każdą kilkoma milami, które przemieścisz się od miejsca pochodzenia. Znów śledzenie pliku htaccess jest prawie niemożliwe.
  • Publiczne hotspoty Wi-Fi: Używanie poświadczeń po podłączeniu do Internetu za pomocą publicznego hotspotu Wi-Fi jest dużym nie-nie, ponieważ dziecko z małym oprogramowaniem może wyodrębnić każdą wpisaną postać. Nie wspominając, że każdy punkt dostępu Wi-Fi będzie miał unikalny adres IP.

Na szczęście wszystkie te wady (z wyjątkiem pierwszej) można naprawić za pomocą VPN. Jeśli ustawisz połączenie VPN przy użyciu tylko jednego adresu IP, możesz po prostu dodać go do pliku htaccess, a wszystkie problemy zostaną rozwiązane.

6. Chroń wszystkich wp-config.php i .htaccess

wordpress-ecommerce-security-shopping-tips-tips

The wp-config.php plik zawiera najbardziej poufne dane dostępowe twojej witryny WordPress. Zawiera między innymi nazwę bazy danych i poświadczenia dostępu oraz różne inne krytyczne dane. W żadnym wypadku nie chcesz, aby inni ludzie przeglądali ten plik. I oczywiście chcesz wyłączyć publiczny dostęp do źródła wszystkich tych zabezpieczeń – .htaccess sam plik. Możesz wyłączyć dostęp do wp-config.php z tym kodem:

# Odmawiaj dostępu do pliku wp-config.php

pozwolenie na zamówienie, odmowa
Odmowa od wszystkich

Aby odmówić dostępu do wszystkich plików htaccess (pamiętaj, że niektóre mogą znajdować się w folderze wp-admin i innych folderach), użyj tego fragmentu kodu:

# Odmawiaj dostępu do wszystkich plików .htaccess

pozwolenie na zamówienie, odmowa
Odmowa od wszystkich
zadowolić wszystkich

7. Zablokuj Hotlinkowanie obrazu

hotlinkowanie obrazu

Jeden z najfajniejszych włamań do plików .htaccess, ten wysyła skrobaczki z ogonem między nogami. Gdy ktoś używa obrazu Twojej witryny, twoja przepustowość jest zużywana i przez większość czasu nie jesteś nawet za to uznawany. Ten fragment kodu eliminuje ten problem i wysyła ten obraz po wykryciu hotlink.

# Zapobieganie skryptowi tworzenia linków do zdjęć. Zastąp ostatni adres URL dowolnym linkiem do obrazu, który chcesz.
RewriteEngine on
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC]
RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www \.)? Yourotherwebsite.com [NC]
RewriteRule \. (Jpg | jpeg | png | gif) $ http://i.imgur.com/MlQAH71.jpg [NC, R, L]

8. Włącz buforowanie przeglądarki

lista przeglądarek internetowych

Ten hack .htaccess, znany również jako buforowanie po stronie klienta, umożliwia włączenie zalecanych opcji buforowania przeglądarki dla witryny WordPress. Możesz go również użyć w innych projektach – witrynach HTML itp.

# Skonfiguruj buforowanie przeglądarki

ExpiresActive On
ExpiresByType image / jpg „access 1 year”
ExpiresByType image / jpeg „access 1 year”
ExpiresByType image / gif „access 1 year”
ExpiresByType image / png „access 1 year”
ExpiresByType text / css „access 1 month”
Aplikacja ExpiresByType / pdf „dostęp 1 miesiąc”
ExpiresByType text / x-javascript „access 1 month”
Aplikacja ExpiresByType / x-shockwave-flash „dostęp 1 miesiąc”
ExpiresByType image / x-icon „access 1 year”
ExpiresDefault „dostęp 2 dni”

9. Przekieruj na stronę Maintenance

shutterstock_93288208

Podczas migracji hostów internetowych lub wykonywania pewnych czynności konserwacyjnych zawsze zaleca się utworzenie statycznego pliku HTML „nieobsługiwanego” w celu poinformowania odwiedzających, że witryna przechodzi aktualizację lub konserwację. Wystarczy utworzyć plik Maintenance.html (lub dowolną inną nazwę pliku) i załadować go do podstawowego katalogu instalacyjnego WordPress. Wklej następujący fragment kodu do pliku .htaccess. Po zakończeniu operacji usuń lub skomentuj te wiersze, aby wrócić do ogólnej operacji. Możesz skomentować, dodając „#” na początku każdej linii.

# Przekieruj cały ruch do pliku Maintenance.html
RewriteEngine on
RewriteCond% {REQUEST_URI}! /Maintenance.html$
RewriteCond% {REMOTE_ADDR}! ^ 123 \ .123 \ .123 \ .123
RewriteRule $ /maintenance.html [R = 302, L] 

10. Niestandardowe strony błędów

404 szablon

Możesz również plik .htaccess, aby skonfigurować przyjazne dla użytkownika niestandardowe strony błędów dla błędów, takich jak 403, 404 i 500. Po przygotowaniu strony błędu – powiedzmy error.html, prześlij ją do podstawowego katalogu instalacyjnego WordPress. Następnie dodaj następujący fragment kodu do pliku .htaccess, aby włączyć niestandardową stronę błędu:

# Niestandardowa strona błędu dla błędu 403, 404 i 500
ErrorDocument 404 /error.html
ErrorDocument 403 /error.html
ErrorDocument 500 /error.html

Wniosek:

Dziś nauczyliśmy się jednych z najfajniejszych hacków htaccess, aby wzmocnić Twoją witrynę WordPress. Sugeruję, abyś wypróbował każdy moduł jeden po drugim podczas wykonywania kopii zapasowej pliku .htaccess przed i po przetestowaniu każdego modułu. Wynika to z faktu, że plik .htaccess jest bardzo krytyczny. Brakujący znak „#” lub źle umieszczony „”Może zniszczyć integralność witryny. Jeśli często korzystasz z pulpitu nawigacyjnego WordPress, gdziekolwiek jesteś, zalecamy, aby nie włączać wybranych adresów IP wp-admin teczka.

Do ciebie – jakie jest twoje zdanie na temat tego postu? Czy uważasz, że warto kłopotać się z edycją pliku htaccess? Czy znasz lepszą wskazówkę dotyczącą bezpieczeństwa? Chcielibyśmy usłyszeć od ciebie.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me