Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
Puchar WPB
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyłączyć wykonywanie PHP w określonych katalogach WordPress

Dostrzeżenie nieznanego pliku PHP w folderze przesyłania WordPressa to przerażający moment. Pomogliśmy tysiącom spanikowanych użytkowników zabezpieczyć ich strony po odkryciu tej właśnie luki.

Ten problem ujawnia ukrytą lukę w zabezpieczeniach, która pozostawia Twoją witrynę otwartą dla atakujących. Hakerzy wykorzystują te niezabezpieczone katalogi do przesyłania złośliwych skryptów i tworzenia ukrytych tylnych furtek.

Na szczęście możesz zablokować tę powszechną metodę ataku za pomocą kilku szybkich poprawek. Wyłączenie wykonywania PHP w WordPressie utrudnia złym aktorom przejęcie kontroli nad Twoją witryną.

Blokując wykonywanie PHP w katalogach WordPressa, gdzie nie jest to potrzebne, zamykasz poważną lukę w zabezpieczeniach.

Pokażemy Ci dokładnie, jak zabezpieczyć swoją witrynę krok po kroku. Czytaj dalej, aby dowiedzieć się, jak zablokować katalogi WordPressa i chronić swoją ciężką pracę.

Jak wyłączyć wykonywanie PHP w określonych katalogach WordPress

Dlaczego wyłączać wykonywanie PHP w niektórych katalogach WordPress?

Domyślnie WordPress sprawia, że pewne katalogi są zapisywalne, dzięki czemu Ty i inni autoryzowani użytkownicy Twojej witryny możecie łatwo przesyłać motywy, wtyczki, obrazy i filmy na swoją stronę internetową.

Jednakże ta funkcja może być nadużywana, jeśli wpadnie w niepowołane ręce, takie jak hakerzy, którzy mogą jej użyć do przesłania plików z tylnymi drzwiami lub złośliwego oprogramowania na Twoją stronę WordPress.

Te złośliwe pliki są często ukrywane jako podstawowe pliki WordPress. Są one w większości napisane w PHP i mogą działać w tle, aby uzyskać pełny dostęp do każdego aspektu Twojej witryny.

Brzmi przerażająco, prawda?

Nie martw się. Jest na to proste rozwiązanie. Po prostu wyłącz wykonanie PHP w określonych katalogach, gdzie go nie potrzebujesz. W ten sposób żadne pliki PHP nie będą działać w tych katalogach.

Przyjrzyjmy się, jak poprawić bezpieczeństwo WordPress poprzez wyłączenie wykonywania PHP za pomocą pliku .htaccess.

Wyłączanie wykonywania kodu PHP w określonych katalogach WordPress za pomocą pliku .htaccess

Większość witryn WordPress ma plik .htaccess w folderze głównym. Jest to plik konfiguracyjny używany przez Apache, jedno z najpopularniejszych oprogramowań serwerowych. (Jeśli Twój hosting używa innego serwera, takiego jak Nginx, nie martw się, omawiamy to w sekcji FAQ poniżej).

Uwaga: Jeśli korzystasz z usług Managed WordPress Hosting, prawdopodobnie już domyślnie blokują one wykonywanie PHP w Twoim folderze przesyłania, aby chronić Twoją witrynę. Jeśli nie jesteś pewien, zawsze możesz skontaktować się z ich zespołem wsparcia, aby to sprawdzić!

Ten potężny plik konfiguracyjny służy do ochrony hasłem obszaru administratora, wyłączania przeglądania katalogów, generowania przyjaznej dla SEO struktury adresów URL i nie tylko.

Domyślnie plik .htaccess znajduje się w folderze głównym Twojej witryny WordPress, ale możesz również tworzyć i używać dodatkowych plików .htaccess w swoich wewnętrznych katalogach WordPress.

Aby chronić swoją witrynę przed plikami dostępu przez tylne furtki, musisz utworzyć plik .htaccess i przesłać go do katalogu /wp-content/uploads swojej witryny. Jest to najczęstsze miejsce, w którym hakerzy próbują ukryć złośliwe skrypty, co czyni go najważniejszym folderem do zablokowania.

Po prostu utwórz nowy plik na swoim komputerze za pomocą zwykłego edytora tekstu, takiego jak Notatnik (w systemie Windows) lub TextEdit (na Macu). Jeśli używasz Maca, upewnij się, że w górnym menu wybrałeś Format » Make Plain Text.

Następnie zapisz pusty plik i nazwij go dokładnie .htaccess (upewnij się, że nie zostanie przypadkowo zapisany jako .htaccess.txt).

Teraz skopiuj i wklej poniższy kod do swojego pliku .htaccess:

<Files *.php>
  Require all denied
</Files>

Ten kod mówi serwerowi, aby zablokował wszelkie próby bezpośredniego uruchomienia pliku kończącego się na .php z tego folderu. Po wklejeniu kodu zapisz plik.

Następnie musisz przesłać ten plik do folderów /wp-includes i /wp-content/uploads na swoim serwerze hostingu WordPress.

Wskazówka Pro: Jeśli popełnisz błąd i Twoja witryna wyświetli błąd po przesłaniu tego pliku, nie panikuj! Po prostu użyj swojego klienta FTP, aby usunąć właśnie przesłany plik .htaccess, a Twoja witryna natychmiast wróci do normy.

Możesz go przesłać za pomocą klienta FTP lub aplikacji Menedżer plików w panelu cPanel Twojego konta hostingowego.

Kliknięcie przycisku Prześlij w menedżerze plików Bluehost

Po dodaniu pliku .htaccess z powyższym kodem, skrypty PHP nie będą mogły być uruchamiane w tych katalogach.

Dodatek: Wyłącz przeglądanie katalogów w WordPressie

Podczas edycji pliku .htaccess zdecydowanie zalecamy wykonanie jeszcze jednego kroku w celu poprawy bezpieczeństwa WordPressa: wyłączenie przeglądania katalogów.

Domyślnie, jeśli serwer WWW nie znajdzie pliku indeksu (takiego jak index.php lub index.html) w folderze, automatycznie wyświetli stronę pokazującą wszystkie pliki i foldery w tym katalogu.

Hakerzy uwielbiają przeglądanie katalogów, ponieważ pozwala im to łatwo przeglądać Twoje pliki i szukać luk.

Aby temu zapobiec, możesz po prostu dodać jedną linię kodu do głównego pliku .htaccess swojej witryny (tego znajdującego się w katalogu głównym, a nie tego, który właśnie dodałeś do folderu przesyłania):

Options -Indexes

Aby uzyskać bardziej szczegółowe instrukcje, możesz zapoznać się z naszym dedykowanym przewodnikiem na temat jak wyłączyć przeglądanie katalogów w WordPressie.

Sprawdzanie luk w zabezpieczeniach WordPressa za pomocą Sucuri

Użycie tej sztuczki z plikiem .htaccess pomaga wzmocnić bezpieczeństwo WordPress, ale nie naprawi witryny WordPress, która została już zhakowana.

Backdoory są sprytnie zamaskowane i mogą być już ukryte na widoku.

Jeśli chcesz sprawdzić, czy na Twojej stronie nie ma potencjalnych tylnych drzwi, musisz aktywować Sucuri na swojej stronie.

Sucuri

Sucuri to najlepsza wtyczka zabezpieczająca WordPress na rynku. Skanuje Twoją witrynę pod kątem potencjalnych zagrożeń, podejrzanego kodu, złośliwego oprogramowania i luk w zabezpieczeniach.

Skutecznie blokuje również większość prób włamań, zanim dotrą one do Twojej witryny, dodając firewall między Twoją witryną a podejrzanym ruchem.

Co najważniejsze, jeśli Twoja witryna WordPress zostanie zhakowana, zostanie ona dla Ciebie wyczyszczona. Aby dowiedzieć się więcej, możesz przeczytać naszą recenzję Sucuri, ponieważ korzystamy z ich usług od lat.

Więcej informacji znajdziesz w naszym przewodniku na temat znajdowania i naprawiania tylnych drzwi w zhakowanej witrynie WordPress.

Najczęściej zadawane pytania dotyczące wyłączania wykonywania PHP

Oto niektóre z najczęściej zadawanych pytań dotyczących wzmacniania bezpieczeństwa WordPress poprzez wyłączanie wykonywania PHP w określonych katalogach.

1. Czym jest plik .htaccess i gdzie się znajduje?

Plik .htaccess to plik konfiguracyjny serwera używany przez serwery WWW Apache. W WordPress kontroluje takie rzeczy jak struktura adresów URL Twojej witryny i może być używany do dodawania reguł bezpieczeństwa. Zazwyczaj można go znaleźć w głównym folderze głównym instalacji WordPress.

2. Czy wyłączenie wykonywania PHP w folderze przesyłania plików zepsuje moją witrynę?

Nie, to zabezpieczenie nie powinno wpływać na normalne działanie Twojej witryny. Katalog wp-content/uploads jest przeznaczony wyłącznie do przesyłania multimediów, takich jak obrazy i filmy, a nie do uruchamiania plików PHP. Twoje motywy i wtyczki przechowują niezbędne pliki w oddzielnych folderach, w których wykonanie PHP jest nadal bezpiecznie dozwolone.

3. Czy ta sztuczka z .htaccess wystarczy, aby całkowicie zabezpieczyć moją witrynę?

Chociaż jest to skuteczne i ważne zabezpieczenie, jest to tylko część pełnego planu bezpieczeństwa. Kompleksowa strategia powinna również obejmować korzystanie z wtyczki zabezpieczającej WordPress, aktualizowanie wszystkich motywów i wtyczek oraz egzekwowanie silnych haseł dla wszystkich użytkowników.

4. Co jeśli mój hosting używa Nginx zamiast Apache?

Sztuczka z plikiem .htaccess działa tylko na serwerach internetowych Apache. Jeśli Twój dostawca hostingu WordPress używa Nginx, nie możesz użyć pliku .htaccess do wyłączenia wykonywania PHP w katalogach WordPress.

Zamiast tego Nginx wymaga dodania określonej reguły (bloku „location”) bezpośrednio do pliku konfiguracyjnego serwera nginx.conf, aby odmówić dostępu PHP w folderze przesyłania.

Uwaga: Edycja plików konfiguracyjnych Nginx jest zadaniem zaawansowanym. Pojedynczy błąd składniowy może spowodować awarię całego serwera internetowego. Ponadto wielu zarządzanych dostawców hostingu WordPress ogranicza dostęp do tych kluczowych plików.

Z tego powodu zdecydowanie zalecamy skontaktowanie się z zespołem pomocy technicznej Twojego dostawcy hostingu. Mogą oni bezpiecznie dodać odpowiednie reguły blokowania Nginx do Twojego serwera w ciągu zaledwie kilku minut.

5. Co mam zrobić, jeśli po dodaniu pliku .htaccess pojawi się błąd?

Po pierwsze, nie martw się! Nie zepsułeś na stałe swojej witryny. Po prostu usuń plik .htaccess, który właśnie przesłałeś do swojego folderu /wp-content/uploads, a Twoja witryna natychmiast wróci do trybu online.

Jeśli po przesłaniu pliku pojawił się „Błąd wewnętrzny serwera 500”, zazwyczaj oznacza to, że Twój dostawca hostingu używa starszej wersji oprogramowania serwera Apache. Aby to naprawić, otwórz plik .htaccess i zastąp dodany kod następującym fragmentem:

<Files *.php>
deny from all
</Files>

Zapisz plik i prześlij go ponownie. Ta starsza wersja kodu robi to samo, ale jest kompatybilna ze starszymi serwerami.

Dodatkowe zasoby dotyczące poprawy bezpieczeństwa WordPress

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak wyłączyć wykonanie PHP w określonych katalogach WordPress, aby wzmocnić bezpieczeństwo Twojej witryny. Możesz również chcieć poznać inne techniki bezpieczeństwa. Oto kilka naszych najlepszych poradników dotyczących poprawy bezpieczeństwa WordPress:

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

42 CommentsLeave a Reply

  1. w kwestii wyłączenia wykonywania kodu PHP w folderze wp-includes w celu zapobiegania wykonywaniu jakiegokolwiek kodu backdoor itp. – ale wydaje się, że w tym folderze jest wiele, wiele plików PHP, na przykład: admin-bar.php lub author-template.php, które wydają się ważne do wykonania, i zastanawiam się, czy umieszczenie pliku htaccess w tym folderze nie zatrzyma wykonywania tych plików i potencjalnie nie zakłóci podstawowych funkcji WordPressa? btw dzięki za wiele fajnych artykułów na Twojej stronie

    • Chyba że masz konkretny wtyczkę, która dodaje funkcjonalność do plików, nie powinno być problemu z uniemożliwieniem wykonania PHP w folderach.

      Administrator

      • Dzięki za odpowiedź. Mój zestaw jest prosty: astra/spectra, malcare i all in one seo, w takim przypadku umieszczę również .htaccess w wp-includes. Jeszcze raz dziękuję za wiele świetnych artykułów

  2. Uważam to za świetny sposób na zabezpieczenie witryny poprzez wyłączenie wykonywania PHP w folderach. Zgodnie z tym artykułem zabezpieczone są tylko dwa katalogi, a co z innymi? Czy są zabezpieczone naturalnie, czy hakerzy ich nie potrzebują podczas próby?

    • Inne sekcje plików Twojej witryny zazwyczaj wymagają bardziej rygorystycznego dostępu lub zawierają pliki php, które są niezbędne do działania Twojej witryny.

      Administrator

  3. Dzięki za te wskazówki dotyczące bezpieczeństwa. Utworzyłem plik htaccess i prześlę go przez FTP. Mam stronę na własnym serwerze, więc kwestia bezpieczeństwa leży całkowicie po mojej stronie. Dzięki za kolejny krok w kierunku ponownego uczynienia mojego WordPressa nieco bezpieczniejszym.

  4. Mam również to powiadomienie w mojej wtyczce Updraft, że kopie zapasowe nie są tworzone, czy może to być spowodowane plikiem htaccess?

    „Nie można utworzyć katalogu kopii zapasowej…

    Folder istnieje, ale Twój serwer WWW nie ma uprawnień do zapisu. Musisz skonsultować się ze swoim dostawcą hostingu internetowego, aby dowiedzieć się, jak ustawić uprawnienia dla pluginu WordPress do zapisu w katalogu. (wp-content/updraft)

  5. FYI: masz literówkę w swoim fragmencie kodu dla fragmentu .htaccess.

    Użycie Twojego fragmentu kodu w obecnej formie (bez zamykającego /) powoduje błędy w ładowaniu obrazu.

  6. Znalazłem kilka plików .php w folderze uploads utworzonych przez wtyczki. Czy mogę założyć, że nie spowoduje to problemu, czy muszę analizować każdą wtyczkę indywidualnie?

    • Jeśli skontaktujesz się ze swoimi wtyczkami, mogą one poinformować Cię o specyficznych informacjach dotyczących tych plików.

      Administrator

  7. Świetne pisanie! Masz talent do pisania informacyjnego. Twoje treści zaimponowały mi ponad słowa. Mam wielki podziw dla Twojego pisania. Dziękuję za wszystkie cenne uwagi na ten temat.

  8. Panowie, myślę, że zepsułem plik htaccess, moja strona internetowa w ogóle nie wyświetla obrazów

    • Cześć Thato,

      Możesz pobrać swój plik .htaccess na komputer jako kopię zapasową, a następnie usunąć go ze swojej witryny. Przejdź do obszaru administracyjnego WordPress Ustawienia » Stałe linki i kliknij przycisk zapisz zmiany. Powinno to spowodować ponowne wygenerowanie pliku .htaccess.

      Administrator

  9. Nie rób wp-content.
    Zrób wp-content/uploads.

    I to:

    order allow,deny
    deny from all

    Bardzo zależy od serwerów.

  10. Czy wpływa to na przesyłanie plików do przesyłania na stronach internetowych?
    Odkryłem, że po przesłaniu tego pliku htaccess do folderu wiele obrazów z wielu postów nie jest wyświetlanych.

  11. Tak, odmowa dostępu do plików php w katalogu includes psuje stronę, ponieważ include faktycznie przestrzega ograniczeń .htaccess.

    Ale ograniczenie katalogu przesyłania jest bardzo inteligentne i powinno być tam .DOMYŚLNIE w katalogu przesyłania, i nie ma dobrego powodu, aby go nie było.

  12. OMG! Czy nie możesz po prostu wyłączyć dostępu do zapisu do folderu /wp-includes?
    Po co walczyć ze skutkami, skoro można zapobiec przyczynie?

    • Czy to nie powstrzyma WordPressa przed możliwością aktualizacji plików w podstawowych aktualizacjach?

  13. Możesz również umieścić to w swoim pliku Apache virtualhost, co da ten sam efekt:

    Zezwól na zamówienie, odmów
    Odmów wszystkim

  14. jak zaimplementować ten kod, jeśli mamy kombinację małych i wielkich liter w rozszerzeniu pliku, na przykład on.php na mojej stronie działa, ale nie działa, jeśli plik jest nazwany z.PHp, .PHP .PhP lub ich kombinacją, skrypt backdoor nadal jest wykonywany

    Dziękuję

    • Możesz umieścić to w swoim pliku .htaccess

      Zamówienie Odmów,Zezwól
      Odmów wszystkim

  15. Cześć Syed,
    Dzięki za tak pouczający post i faktycznie stanowi on świetne rozwiązanie dla ochrony WordPressa przed hakerami.

  16. Cześć!

    Postępowałem zgodnie ze wszystkimi Twoimi instrukcjami w tym artykule, ale to nie działa...

    Dzięki

  17. Utworzyłem plik .htaccess w folderze wp-includes. Witryna wyglądała w porządku, ale mój edytor WYSIWYG na stronach administracyjnych nie działał. Musiałem ponownie usunąć plik .htaccess. (WP 3.9.1)

  18. Znalazłem również mój folder wp-includes pełen plików php i nie widzę, jak użycie tego pliku .htaccess tam nie zepsuje czegoś. Użyłem go w katalogu uploads.

  19. przepraszam za mój zły angielski…
    przestrzegałem wszystkich twoich instrukcji w tym artykule, ale kiedy wchodzę do mojego panelu, aby dodać nowy post, moja sekcja postów była zepsuta. … podejrzewam, że problemem był plik .htaccess.
    kiedy go usunąłem, post był w porządku.

  20. Dodałem plik .htaccess do mojego wp-includes i nie miałem żadnych problemów. Bardzo dziękuję za wskazówki.

  21. Próbowałem tego w moim katalogu /wp-includes/, który jest pełen plików php. Oczywiście nie mogłem już uzyskać dostępu do strony. Czy naprawdę miałeś na myśli włączenie katalogu includes do użycia z plikiem .htaccess?

    Czy miałeś na myśli /wp-includes/images ?

    • Nie. Mieliśmy na myśli folder /wp-includes/. Mamy to w naszym folderze wp-includes/. Jeśli z jakiegoś powodu psuje to Twoją witrynę, usuń plik .htaccess z folderu wp-includes.

      Administrator

      • Dziwne, mój folder wp-includes ma ponad 90 plików php. I to psuje stronę. Natychmiast go usunąłem.

        Ale umieściłem go w folderze /wp-content/uploads/ i tam działa bez zarzutu. Dziękuję za odpowiedź

        • Umieszczenie pliku htaccess odmawiającego dostępu do plików php w katalogu pełnym plików php wydaje się dość dziwne. Zakładam, że dzieje się tak dlatego, że pliki te są zazwyczaj tylko dołączane, a nie wykonywane bezpośrednio. Jeśli tak, czy nie lepiej po prostu odmówić dostępu do całego katalogu?

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Proszę NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.