Jak poradzić sobie z zainfekowaną stroną WordPress

W tym artykule omówimy najczęstsze typy ataków na WordPressa, jak je rozpoznać oraz różne metody ich naprawy. Jeśli napotkasz taki problem, zdecydowanie zalecamy skontaktowanie się z profesjonalnym deweloperem stron internetowych w celu uzyskania dalszej pomocy. Dodatkowe wskazówki dotyczące poprawy bezpieczeństwa konta hostingowego znajdziesz w tym przewodniku.

WAŻNE: Przed wprowadzeniem jakichkolwiek zmian wykonaj pełną kopię zapasową swojej strony internetowej. 

UWAGA: Aby zmniejszyć ryzyko przyszłych ataków na WordPressa, regularnie skanuj swoje konto hostingowe narzędziem antywirusowym, usuwaj złośliwe lub podejrzane pliki oraz aktualizuj wszystkie wtyczki i motywy do najnowszych wersji.

  1. Brak domyślnych plików

  2. Jak zastąpić brakujące pliki WordPressa

  3. Jak zastąpić wszystkie domyślne pliki WordPressa

  4. Brakujące pliki motywu lub wtyczki

  5. Złośliwe przekierowania

Brak domyślnych plików

Chociaż różne problemy mogą prowadzić do braku lub zmiany domyślnych plików, najczęstszą przyczyną jest złośliwe oprogramowanie wstrzyknięte do Twojej instalacji WordPressa. Na szczęście narzędzia antywirusowe na naszych serwerach Web i Hosting mogą automatycznie wykrywać i poddawać kwarantannie zainfekowane pliki.

Jeśli podstawowe pliki WordPressa zostaną zainfekowane, możesz napotkać takie objawy jak:

  • Pusta strona;

  • Błąd 500 Internal Server Error;

  • Błąd „Ta strona napotkała problemy techniczne” (wprowadzony w WordPressie 5.2.2);

  • Lub inne podobne błędy.

Aby rozwiązać ten problem, po prostu postępuj zgodnie z poniższymi krokami.

Sprawdź plik error_log swojej strony

Aby zidentyfikować przyczynę problemu na swojej stronie, przejrzyj plik error_log. Plik ten rejestruje wszelkie krytyczne błędy napotkane przez Twoją stronę.

Możesz go znaleźć w swoim koncie cPanel > menu „Menedżer plików” > katalog główny instalacji WordPressa. 

Po wejściu do katalogu głównego domeny poszukaj pliku error_log. Jeśli istnieje, wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem myszy na plik, a następnie wybierz Podgląd:


  2. W logu możesz zobaczyć błąd taki jak: „No such file or directory in…”, po którym następuje ścieżka brakującego pliku. Oznacza to, że wymagany plik jest nieobecny i uniemożliwia prawidłowe działanie strony.

    Na przykład:

    /home/cPuser/public_html/wp-settings.php

  3. Aby przywrócić brakujący plik, przewiń do sekcji "Jak zastąpić brakujące pliki" tego przewodnika.

Włącz opcję display_errors w PHP

Jeśli plik error_log nie jest dostępny w katalogu głównym Twojej strony, możesz włączyć opcję PHP display_errors w swoim koncie cPanel. Ustawienie to pozwala na wyświetlanie komunikatów o błędach bezpośrednio na stronie, co ułatwia identyfikację problemu.

Ważne: Ze względów bezpieczeństwa pamiętaj, aby wyłączyć display_errors po zakończeniu rozwiązywania problemów.

Możesz włączyć tę opcję PHP na następujące sposoby:

  • Przez php.ini 

Oprócz menu „PHP Tweaks” w cPanelu, możesz także dostosować niektóre ustawienia strony bezpośrednio przez plik php.ini, dodając/edytując odpowiednie linie w tym pliku. 

Aby włączyć opcję display_errors, musisz dodać następującą linię do pliku:

display_errors=1

Możesz utworzyć nowy plik php.ini w katalogu głównym strony i dodać tam linię lub zmodyfikować plik systemowy, postępując według poniższych kroków.

  1. Zaloguj się do swojego konta cPanel i przejdź do menu „Menedżer plików”.

  2. Upewnij się, że w ustawieniach jest włączona opcja „Pokaż ukryte pliki (dotfiles)”:


  3. Przejdź do następującego katalogu:  /home/cPanel_user/.system-php/ini


  4. Wybierz wersję PHP przypisaną do Twojej domeny, a następnie wybierz katalog domeny. Na przykład pełna ścieżka może wyglądać tak:

    /home/cPanel_user/.system-php/ini/7.0/testwebsite.com

  5. Kliknij prawym przyciskiem myszy na plik php.ini i wybierz Edytuj.

  6. Dodaj następującą linię do pliku:

    display_errors=1

  • Przez .htaccess


Aby włączyć opcję display_errors PHP przez plik .htaccess, musisz edytować plik w katalogu głównym strony w „Menedżerze plików” i dodać tam następującą linię:

php_value display_errors 1

Szczegółowe kroki dotyczące lokalizacji pliku .htaccess znajdziesz w tym artykule

Po wprowadzeniu zmian kliknij Zapisz.

Jak zastąpić brakujące pliki WordPressa

WordPress korzysta z prostej i uporządkowanej struktury plików, co sprawia, że przywracanie brakujących lub uszkodzonych plików jest stosunkowo łatwe. Zdecydowanie zaleca się zastąpienie domyślnych plików rdzeniowych, ponieważ zapewnia to pełne przywrócenie plików naruszonych przez złośliwe oprogramowanie. Jednak należy zachować ostrożność: zastąpienie niektórych plików lub folderów może prowadzić do utraty danych, jeśli nie zostanie wykonane prawidłowo.

Wykonaj poniższe kroki, aby zastąpić brakujące pliki WordPressa:

  1. Zaloguj się do swojego cPanel i przejdź do Softaculous Apps Installer.

  2. Utwórz nową instalację WordPressa w tymczasowym podkatalogu. Aby to zrobić, kliknij ikonę WordPress, a następnie wybierz Instaluj:


  3. Zostaniesz przekierowany do strony ustawień instalacji. Tam wybierz odpowiednią domenę z listy rozwijanej i wpisz nazwę podfolderu w polu W katalogu.

    W tym przykładzie używamy podfolderu „fix” do instalacji WordPressa:


    UWAGA: Zastąpienie wszystkich domyślnych plików zaktualizuje Twoją obecną instalację do wersji użytej w tymczasowej instalacji „fix”, a mieszanie plików z różnych wersji może powodować konflikty systemowe i zakłócać działanie strony.

    Jeśli zależy Ci na zachowaniu obecnej wersji WordPressa lub planujesz zastąpić tylko wybrane pliki, sprawdź wersję swojej strony w pliku /wp-includes/version.php i upewnij się, że nowa instalacja korzysta z tej samej wersji WordPressa:


  4. Możesz wybrać wersję WordPressa dla nowej instalacji bezpośrednio w oknie instalacji:


  5. Po skonfigurowaniu wszystkich ustawień kliknij Szybka instalacja lub przewiń na dół strony instalacji i kliknij Instaluj

  6. Po zakończeniu nowej instalacji WordPressa jej pliki pojawią się w „Menedżerze plików” > katalog główny Twojej domeny. Otwórz folder, klikając go dwukrotnie:


  7. Aby zastąpić konkretny brakujący plik (np. wp-settings.php), znajdź ten plik w katalogu nowej instalacji.

  8. Następnie przenieś plik do bieżącego katalogu głównego swojej strony, klikając prawym przyciskiem myszy na plik > kliknij Przenieś > wpisz ścieżkę do katalogu głównego strony > kliknij Przenieś plik(i)


  9. Po zakończeniu brakujący plik został przywrócony i Twoja strona powinna się teraz poprawnie ładować.

Jak zastąpić wszystkie domyślne pliki WordPressa

W procesie zastępowania wszystkich domyślnych plików WordPressa dla strony kroki 1-6 są takie same jak w sekcji „Jak zastąpić brakujące pliki WordPressa”. 

Po wykonaniu tych kroków i utworzeniu nowej instalacji WordPressa, aby zastąpić wszystkie domyślne pliki w katalogu głównym strony, wykonaj następujące czynności:

  1. Otwórz katalog główny nowej instalacji WordPressa:


  2. Wewnątrz folderu nowej instalacji usuń następujące pliki i foldery:


    • .htaccess

    • wp-config.php

    • wp-content

      Te pliki i foldery zawierają konfigurację oraz treści Twojej strony i muszą pozostać niezmienione.

  3. Następnie przenieś pozostałe pliki do katalogu głównego swojej głównej strony. W tym celu użyj przycisku Zaznacz wszystko > kliknij Przenieś > wpisz ścieżkę do katalogu głównego strony > kliknij Przenieś plik(i):


  4. Twoje pliki rdzeniowe WordPressa zostały w pełni zastąpione. Odwiedź swoją stronę, aby upewnić się, że wszystko ładuje się poprawnie.

    Jeśli strona nadal wyświetla błędy, ponownie sprawdź error_log. W większości przypadków dodatkowe problemy są spowodowane brakującymi plikami motywów lub wtyczek.

Brakujące pliki motywu lub wtyczki

Brakujące pliki motywu lub wtyczki mogą wystąpić z różnych powodów, ale najczęstszą przyczyną jest złośliwe oprogramowanie, które infekuje i usuwa kluczowe elementy instalacji WordPressa. 

Jeśli brakuje któregokolwiek z plików wtyczki lub motywu WordPressa, możesz napotkać:

  • Pusta strona;

  • Błąd 500 Internal Server Error;

  • Błąd „Ta strona napotkała problemy techniczne” (wprowadzony w WordPressie 5.2.2);

  • Częściowo załadowana lub wizualnie „uszkodzona” strona.

Aby uzyskać pomoc w diagnozowaniu problemu, zapoznaj się z następującymi sekcjami tego artykułu: Sprawdź plik error_log swojej strony oraz Włącz opcję display_errors w PHP.

W pliku error_log lub bezpośrednio na stronie możesz zobaczyć komunikaty o błędach podobne do poniższych:

PHP Fatal error: Uncaught Error: Call to undefined function sample_function() in /home/cPaneluser/...

Poniżej znajduje się przykład błędu spowodowanego uszkodzonym lub brakującym plikiem wtyczki:


Aby przywrócić brakujący plik, po prostu ponownie zainstaluj dany motyw lub wtyczkę.

UWAGA: Brakujące pliki functions.php w motywach są często powiązane ze złośliwym oprogramowaniem wp-vcd.php, które zwykle znajduje się w katalogu /wp-includes. Przed instalacją nowego motywu usuń wp-vcd.php, jeśli istnieje, lub jeśli chcesz mieć pełną pewność, zastąp wszystkie domyślne pliki WordPressa zgodnie z opisem wcześniej.

Złośliwe przekierowania

W niektórych przypadkach, gdy Twoja strona zostanie zainfekowana złośliwym oprogramowaniem, może zacząć przekierowywać odwiedzających na szkodliwe lub podejrzane strony. Problem ten najczęściej powoduje niebezpieczna wtyczka lub motyw, który pozwala atakującym na zmianę adresów URL w bazie danych lub modyfikację plików strony.

UWAGA: Nigdy nie klikaj żadnych przekierowanych linków. Może to spowodować zainfekowanie Twojego komputera złośliwym oprogramowaniem:


Aby naprawić złośliwe przekierowania, postępuj zgodnie z poniższymi krokami:

  1. Znajdź plik konfiguracyjny bazy danych swojej strony - wp-config.php w cPanel > Menedżer plików > katalog główny strony. Otwórz plik i znajdź w nim nazwę bazy danych strony:


  2. Następnie otwórz bazę danych przypisaną do Twojej strony w menu phpMyAdmin w cPanelu, klikając na nią, i przejdź do tabeli wp_options („wp_” to domyślny prefiks; Twój może być inny):


  3. Sprawdź wartości pól siteurl i home , a jeśli zobaczysz tam złośliwe lub podejrzane adresy URL, zamień je na swoją rzeczywistą nazwę domeny: 


  4. Przeskanuj resztę bazy danych w poszukiwaniu podobnych złośliwych adresów URL i zamień je odpowiednio. 

  5. Tymczasowo zastąp swój obecny plik .htaccess czystą, domyślną wersją. Najlepiej zmienić nazwę istniejącego pliku (np. .htaccess_old) i utworzyć nowy od podstaw.

    Aby zmienić nazwę pliku, kliknij go dwukrotnie > wybierz Zmień nazwę z listy > wpisz nową nazwę pliku > i naciśnij Zmień nazwę pliku.

    Następnie, aby utworzyć nowy plik, kliknij + Plik > nazwij go .htaccess > i wybierz Utwórz nowy plik.

  6. Po utworzeniu nowego pliku .htaccess edytuj go, klikając prawym przyciskiem myszy > wybierz Edytuj z listy. Po otwarciu okna edycji wklej poniższe domyślne reguły WordPressa do pliku:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress

  7. Kliknij Zapisz zmiany.

Jeśli Twoja strona nadal przekierowuje, spróbuj zastąpić wszystkie domyślne pliki rdzeniowe WordPressa.

Możesz także tymczasowo wyłączyć wszystkie wtyczki przez panel WordPressa lub bazę danych i próbować włączać je pojedynczo. Po włączeniu każdej wtyczki sprawdź stronę, aby wykryć, która powoduje problem z przekierowaniem.

Wymagany jest prawidłowy adres e-mail