Jak řešit napadené webové stránky WordPress

V tomto článku si povíme o nejběžnějších typech hacknutí WordPressu, jak je rozpoznat a jakými různými metodami je opravit. Pokud se s takovým problémem setkáte, důrazně doporučujeme obrátit se na profesionálního webového vývojáře pro další pomoc. Další rady ohledně zvýšení bezpečnosti vašeho hostingového účtu najdete v tomto průvodci.

DŮLEŽITÉ: Před provedením jakýchkoli změn si vytvořte kompletní zálohu svých webových stránek. 

POZNÁMKA: Pro snížení rizika budoucího hacknutí WordPressu pravidelně skenujte svůj hostingový účet antivirovým nástrojem, odstraňujte škodlivé nebo podezřelé soubory a udržujte všechny pluginy a šablony na svých stránkách aktualizované na nejnovější verze.

  1. Chybějící výchozí soubory

  2. Jak nahradit chybějící soubory WordPressu

  3. Jak nahradit všechny výchozí soubory WordPressu

  4. Chybějící soubory šablon nebo pluginů

  5. Škodlivé přesměrování

Chybějící výchozí soubory

Zatímco různé problémy mohou vést k chybějícím nebo změněným výchozím souborům, nejčastější příčinou je malware zavedený do vaší instalace WordPressu. Naštěstí antivirové nástroje na našich serverech Web a Hosting dokážou automaticky detekovat a umístit kompromitované soubory do karantény.

Pokud se vaše základní soubory WordPressu nakazí, můžete se setkat s následujícími příznaky:

  • Prázdná stránka;

  • Chyba 500 Internal Server Error;

  • Chyba „Tato stránka má technické potíže“ (zavedeno ve WordPressu 5.2.2);

  • Nebo jiné podobné chyby.

Pro vyřešení tohoto problému jednoduše postupujte podle níže uvedených kroků.

Zkontrolujte soubor error_log vašich stránek

Abyste zjistili, co způsobilo problém na vašem webu, zkontrolujte soubor error_log. Tento soubor zaznamenává všechny kritické chyby, se kterými se vaše stránky setkají.

Najdete jej ve svém účtu cPanel > v nabídce „Správce souborů“ > v kořenovém adresáři vaší instalace WordPressu. 

Jakmile se dostanete do kořenové složky domény, vyhledejte soubor error_log. Pokud existuje, postupujte takto:

  1. Klikněte pravým tlačítkem na soubor a poté vyberte Zobrazit:


  2. V logu můžete vidět chybu jako: „No such file or directory in…“, následovanou cestou k chybějícímu souboru. To znamená, že požadovaný soubor chybí a brání správnému chodu webu.

    Například:

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

  3. Pro obnovení chybějícího souboru přejděte dolů do sekce "Jak nahradit chybějící soubory" tohoto průvodce.

Povolte možnost PHP display_errors

Pokud soubor error_log není dostupný v kořenovém adresáři vašich stránek, můžete povolit možnost PHP display_errors ve svém účtu cPanel. Toto nastavení umožní zobrazování chybových hlášení přímo na vašem webu, což usnadní identifikaci problému.

Důležité: Z bezpečnostních důvodů nezapomeňte po dokončení řešení problémů možnost display_errors opět vypnout.

Možnost PHP můžete povolit následujícími způsoby:

  • Přes php.ini 

Kromě nabídky „PHP Tweaks“ v cPanelu můžete také upravit některá nastavení webu přímo prostřednictvím souboru php.ini přidáním/upravením příslušných řádků v tomto souboru. 

Pro povolení možnosti display_errors je třeba přidat následující řádek do souboru:

display_errors=1

Můžete buď vytvořit nový soubor php.ini v kořenové složce webu a řádek tam přidat, nebo upravit systémem vytvořený soubor podle níže uvedených kroků.

  1. Přihlaste se do svého účtu cPanel a přejděte do nabídky „Správce souborů“.

  2. Ujistěte se, že je v nastavení povolena možnost „Zobrazit skryté soubory (dotfiles)“:


  3. Přejděte do následující složky:  /home/cPanel_user/.system-php/ini


  4. Vyberte verzi PHP přiřazenou vaší doméně a poté vyberte složku domény. Například úplná cesta může vypadat takto:

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

  5. Klikněte pravým tlačítkem na soubor php.ini a vyberte Upravit.

  6. Do souboru přidejte následující řádek:

    display_errors=1

  • Přes .htaccess


Pro povolení možnosti PHP display_errors přes soubor .htaccess je třeba upravit soubor v kořenovém adresáři webu ve „Správci souborů“ a přidat tam následující řádek:

php_value display_errors 1

Podrobné kroky, jak najít soubor .htaccess, najdete v tomto článku. 

Po provedení změn klikněte na Uložit.

Jak nahradit chybějící soubory WordPressu

WordPress používá jednoduchou a přehlednou strukturu souborů, což usnadňuje obnovení chybějících nebo poškozených souborů. Nahrazení výchozích základních souborů je důrazně doporučeno, protože zajistí, že všechny soubory napadené malwarem budou plně obnoveny. Postupujte však opatrně: nahrazení některých souborů nebo složek může vést ke ztrátě dat, pokud není provedeno správně.

Postupujte podle níže uvedených kroků pro nahrazení chybějících souborů WordPressu:

  1. Přihlaste se do svého cPanelu a přejděte do Softaculous Apps Installer.

  2. Vytvořte novou instalaci WordPressu v dočasném podadresáři. Provedete to kliknutím na ikonu WordPress a poté vyberte Instalovat:


  3. Budete přesměrováni na stránku s nastavením instalace. Tam vyberte požadovanou doménu z rozbalovací nabídky a zadejte název podadresáře do pole Do adresáře.

    V tomto příkladu používáme podadresář „fix“ pro instalaci WordPressu:


    POZNÁMKA: Nahrazením všech výchozích souborů aktualizujete stávající instalaci na verzi použitou v dočasné instalaci „fix“ a kombinace souborů z různých verzí může způsobit systémové konflikty a narušit funkčnost webu.

    Pokud je pro vás důležité zachovat aktuální verzi WordPressu nebo plánujete nahradit pouze konkrétní soubory, zkontrolujte verzi svého webu v souboru /wp-includes/version.php a ujistěte se, že nová instalace používá stejnou verzi WordPressu:


  4. Verzi WordPressu pro novou instalaci můžete zvolit přímo v instalačním okně:


  5. Jakmile jsou všechna nastavení nakonfigurována, klikněte na Rychlá instalace nebo sjeďte dolů na konec instalační stránky a klikněte na Instalovat. 

  6. Po dokončení nové instalace WordPressu se její soubory zobrazí ve „Správci souborů“ > kořenový adresář vaší domény. Otevřete složku dvojklikem:


  7. Pro nahrazení konkrétního chybějícího souboru (např. wp-settings.php) jej najděte ve složce nové instalace.

  8. Poté soubor přesuňte do aktuálního kořenového adresáře vašeho webu kliknutím pravým tlačítkem na soubor > klikněte na Přesunout > zadejte cestu ke kořenové složce vašeho webu > klikněte na Přesunout soubor(y): 


  9. Po dokončení byl chybějící soubor obnoven a vaše stránky by se nyní měly správně načíst.

Jak nahradit všechny výchozí soubory WordPressu

Při nahrazování všech výchozích souborů WordPressu pro web jsou kroky 1–6 stejné jako v sekci „Jak nahradit chybějící soubory WordPressu“. 

Po dokončení těchto kroků a vytvoření nové instalace WordPressu postupujte následovně pro nahrazení všech výchozích souborů v kořenové složce vašeho webu:

  1. Otevřete kořenovou složku nové instalace WordPressu:


  2. Ve složce nové instalace smažte následující soubory a složky:


    • .htaccess

    • wp-config.php

    • wp-content

      Tyto soubory a složky obsahují konfiguraci a obsah vašeho webu a musí zůstat nezměněny.

  3. Poté přesuňte zbývající soubory do kořenového adresáře vašeho hlavního webu. K tomu použijte tlačítko Vybrat vše > klikněte na Přesunout > zadejte cestu ke kořenové složce vašeho webu > klikněte na Přesunout soubor(y):


  4. Vaše základní soubory WordPressu byly plně nahrazeny. Navštivte své stránky a ověřte, že se vše načítá správně.

    Pokud se stále zobrazují chyby, zkontrolujte znovu error_log. Ve většině případů jsou další problémy způsobeny chybějícími soubory šablon nebo pluginů.

Chybějící soubory šablon nebo pluginů

Chybějící soubory šablon nebo pluginů mohou vzniknout z několika důvodů, ale nejčastější příčinou je malware, který infikuje a odstraní důležité součásti vaší instalace WordPressu. 

Pokud některé soubory pluginů nebo šablon WordPressu chybí, můžete se setkat s:

  • Prázdná stránka;

  • Chyba 500 Internal Server Error;

  • Chyba „Tato stránka má technické potíže“ (zavedeno ve WordPressu 5.2.2);

  • Částečně načtená nebo vizuálně „rozbitá“ stránka.

Pro pomoc s diagnostikou problému se podívejte do následujících sekcí tohoto článku: Zkontrolujte soubor error_log vašich stránek a Povolte možnost PHP display_errors.

Ve vašem error_log nebo přímo na webu se mohou zobrazit chybová hlášení podobná těmto:

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

Níže je příklad chyby způsobené poškozeným nebo chybějícím souborem pluginu:


Pro obnovení chybějícího souboru jednoduše znovu nainstalujte příslušnou šablonu nebo plugin.

POZNÁMKA: Chybějící soubory functions.php v šablonách často souvisí s malwarem wp-vcd.php, který se obvykle nachází ve složce /wp-includes. Před instalací nové šablony odstraňte soubor wp-vcd.php, pokud existuje, nebo pokud chcete mít jistotu, nahraďte všechny výchozí soubory WordPressu, jak je popsáno výše.

Škodlivé přesměrování

V některých případech, když je váš web napaden malwarem, může začít přesměrovávat návštěvníky na škodlivé nebo podezřelé stránky. Tento problém je nejčastěji způsoben nezabezpečeným pluginem nebo šablonou, které útočníkům umožní změnit URL v databázi nebo upravit soubory vašeho webu.

POZNÁMKA: Nikdy neklikejte na žádné z přesměrovaných odkazů. Mohli byste tím infikovat svůj počítač malwarem:


Pro odstranění škodlivých přesměrování postupujte podle níže uvedených kroků:

  1. Najděte konfigurační soubor databáze vašeho webu – wp-config.php ve svém cPanelu > Správce souborů > kořenová složka webu. Otevřete soubor a najděte v něm název databáze webu:


  2. Poté otevřete databázi přiřazenou vašemu webu v nabídce phpMyAdmin ve vašem cPanelu kliknutím na ni a přejděte do tabulky wp_options („wp_“ je výchozí předpona; vaše se může lišit):


  3. Zkontrolujte hodnoty polí siteurl a home a pokud zde uvidíte škodlivé nebo podezřelé URL adresy, nahraďte je skutečným názvem vaší domény: 


  4. Prohledejte zbytek databáze na podobné škodlivé URL adresy a podle potřeby je nahraďte. 

  5. Dočasně nahraďte svůj aktuální .htaccess čistou výchozí verzí. Nejlepší je přejmenovat stávající soubor (např. .htaccess_old) a vytvořit nový od začátku.

    Pro přejmenování souboru na něj dvakrát klikněte > vyberte Přejmenovat ze seznamu > zadejte nový název souboru > a stiskněte Přejmenovat soubor.

    Poté pro vytvoření nového souboru klikněte na + Soubor > pojmenujte jej .htaccess > a vyberte Vytvořit nový soubor.

  6. Jakmile je nový .htaccess vytvořen, upravte jej kliknutím pravým tlačítkem > vyberte Upravit ze seznamu. Po otevření okna pro úpravy vložte do souboru následující výchozí pravidla WordPressu:

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

  7. Klikněte na Uložit změny.

Pokud se vaše stránky stále přesměrovávají, zkuste nahradit všechny výchozí základní soubory WordPressu.

Můžete také dočasně deaktivovat všechny pluginy přes WordPress administraci nebo databázi a zkusit je povolovat jeden po druhém. Po povolení každého pluginu zkontrolujte web a zjistěte, který způsobuje problém se škodlivým přesměrováním.

Je vyžadována platná e-mailová adresa