Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
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

Znalezienie dziwnego pliku PHP w folderze przesyłania WordPress może być alarmujące. Znamy to uczucie dobrze, ponieważ pomogliśmy setkom użytkowników, którzy odkryli ten sam problem.

Często wskazuje to na lukę w zabezpieczeniach, którą wiele osób przeocza. Hakerzy mogą nadużywać zapisywalnych katalogów do przesyłania złośliwych skryptów, które dają im dostęp z tyłu do Twojej witryny.

Dobra wiadomość jest taka, że istnieje prosty sposób na zablokowanie jednej z ich ulubionych metod ataku. Wyłączając wykonywanie PHP w określonych folderach, sprawiasz, że Twoja witryna jest znacznie trudniejszym celem.

Pokażemy Ci dokładnie, jak to zrobić krok po kroku. Przejdźmy przez to, jak dodać tę ważną warstwę bezpieczeństwa do Twojej witryny WordPress.

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 ta możliwość może zostać nadużyta, jeśli wpadnie w niepowołane ręce, takie jak hakerzy, którzy mogą jej użyć do przesłania plików dostępu do tylnych drzwi lub złośliwego oprogramowania do Twojej witryny 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, jeden z najpopularniejszych typów oprogramowania serwerów internetowych. (Jeśli Twój host używa innego serwera, takiego jak Nginx, nie martw się, omawiamy to w sekcji FAQ poniżej.)

Ten potężny plik konfiguracyjny służy do zabezpieczenia hasłem obszaru administracyjnego, wyłączenia przeglądania katalogów, wygenerowania 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 z dostępem z tyłu, musisz utworzyć plik .htaccess i przesłać go do katalogów /wp-includes i /wp-content/uploads Twojej witryny. Ochrona folderu /wp-content/uploads jest szczególnie ważna, ponieważ jest to najczęstsze miejsce, w którym hakerzy próbują umieścić złośliwe skrypty.

Po prostu utwórz nowy plik na swoim komputerze za pomocą edytora tekstu, takiego jak Notatnik (w systemie Windows) lub TextEdit (na Macu). Następnie zapisz pusty plik pod nazwą .htaccess

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.

Możesz przesłać go 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.

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ć potencjalne backdoory na swojej stronie, musisz aktywować Sucuri na swojej stronie.

Sucuri

Sucuri to najlepsza wtyczka zabezpieczeń 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 jeszcze dotrą do Twojej witryny, dodając firewall między Twoją witryną a podejrzanym ruchem.

Co najważniejsze, jeśli Twoja witryna WordPress zostanie zhakowana, to ją oczyści. 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 backdoorów 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 internetowe Apache. W WordPress kontroluje on 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, ten środek bezpieczeństwa nie powinien wpływać na normalne działanie Twojej witryny. Katalogi wp-content/uploads i wp-includes nie są przeznaczone do przechowywania plików PHP, które są uruchamiane bezpośrednio. Twoje motywy i wtyczki przechowują swoje niezbędne pliki w oddzielnych folderach, gdzie wykonywanie PHP jest nadal 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ć używanie 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?

Plik .htaccess działa tylko na serwerach internetowych Apache. Jeśli Twój dostawca hostingu używa Nginx, będziesz musiał dodać inną regułę do pliku konfiguracyjnego swojego serwera, aby osiągnąć ten sam rezultat. Zalecamy skontaktowanie się z zespołem wsparcia Twojego hosta w celu uzyskania pomocy z odpowiednim kodem dla ich platformy.

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

W bardzo rzadkich przypadkach po przesłaniu pliku możesz zobaczyć komunikat „Błąd wewnętrzny serwera 500”. Zazwyczaj oznacza to, że Twój hosting używa starszej wersji oprogramowania serwera Apache.

Jeśli tak się stanie, po prostu otwórz swój plik .htaccess i zastąp dodany kod poniższym 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.

Eksperckie poradniki, jak poprawić bezpieczeństwo WordPressa

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 w 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.

      Admin

      • 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.

      Admin

  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.

      Admin

  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.

      Admin

  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.

      Admin

      • 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. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.