Hur man hanterar en hackad WordPress-webbplats

I den här artikeln diskuterar vi de vanligaste typerna av WordPress-intrång, hur du identifierar dem och olika metoder för att åtgärda dem. Om du stöter på ett sådant problem rekommenderar vi starkt att du kontaktar en professionell webbutvecklare för vidare hjälp. För ytterligare vägledning om hur du förbättrar säkerheten för ditt webbhotellkonto, se denna guide.

VIKTIGT: Innan du gör några ändringar, skapa en fullständig säkerhetskopia av din webbplats. 

OBS! För att minska risken för framtida WordPress-intrång, skanna regelbundet ditt webbhotellkonto med ett antivirusverktyg, ta bort skadliga eller misstänkta filer och håll alla webbplatsens tillägg och teman uppdaterade till de senaste versionerna.

  1. Saknade standardfiler

  2. Hur du ersätter saknade WordPress-filer

  3. Hur du ersätter alla standardfiler i WordPress

  4. Saknade tema- eller tilläggsfiler

  5. Skadliga omdirigeringar

Saknade standardfiler

Flera olika problem kan leda till saknade eller ändrade standardfiler, men den vanligaste orsaken är skadlig kod som injicerats i din WordPress-installation. Lyckligtvis kan antivirusverktygen på våra webb- och hostingservrar automatiskt upptäcka och sätta infekterade filer i karantän.

Om dina centrala WordPress-filer blir infekterade kan du stöta på symtom som:

  • En tom sida;

  • Ett 500 Internal Server Error;

  • Ett ”Den här webbplatsen har tekniska problem”-fel (infört i WordPress 5.2.2);

  • Eller andra liknande fel.

Följ bara stegen nedan för att åtgärda detta problem.

Kontrollera error_log-filen för din webbplats

För att identifiera vad som orsakade problemet på din webbplats, granska error_log-filen. Den här filen loggar alla kritiska fel som din webbplats stöter på.

Du hittar den i ditt cPanel-konto > menyn ”File Manager” > rotkatalogen för din WordPress-installation. 

När du har kommit åt domänens rotmapp, leta efter error_log-filen. Om den finns, följ dessa steg:

  1. Högerklicka på filen och välj sedan Visa:


  2. I loggen kan du se ett fel som: ”No such file or directory in…”, följt av sökvägen till den saknade filen. Detta indikerar att en nödvändig fil saknas och hindrar webbplatsen från att fungera korrekt.

    Till exempel:

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

  3. För att återställa den saknade filen, scrolla ner till avsnittet "Hur du ersätter saknade filer" i denna guide.

Aktivera PHP-alternativet display_errors

Om error_log-filen inte finns i webbplatsens rotkatalog kan du aktivera PHP-alternativet display_errors i ditt cPanel-konto. Denna inställning gör att felmeddelanden visas direkt på din webbplats, vilket gör det enklare att identifiera problemet.

Viktigt: Av säkerhetsskäl, se till att inaktivera display_errors när du är klar med felsökningen.

Du kan aktivera PHP-alternativet på följande sätt:

  • Via php.ini 

Förutom menyn ”PHP Tweaks” i cPanel kan du även justera vissa inställningar för en webbplats direkt via en php.ini-fil genom att lägga till/redigera motsvarande rader där. 

För att aktivera display_errors-alternativet behöver du lägga till följande rad i filen:

display_errors=1

Du kan antingen skapa en ny php.ini -fil i webbplatsens rotmapp och lägga till raden där, eller ändra den systemgenererade filen genom att följa stegen nedan.

  1. Logga in på ditt cPanel-konto och gå till menyn ”File Manager”.

  2. Se till att alternativet ”Show Hidden Files (dotfiles)” är aktiverat i inställningarna:


  3. Navigera till följande katalog:  /home/cPanel_user/.system-php/ini


  4. Välj PHP-versionen som är tilldelad din domän och välj sedan domänens katalog. Till exempel kan hela sökvägen se ut så här:

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

  5. Högerklicka på php.ini-filen och välj Redigera.

  6. Lägg till följande rad i filen:

    display_errors=1

  • Via .htaccess


För att aktivera PHP-alternativet display_errors via .htaccess-filen måste du redigera filen i webbplatsens rotkatalog i ”File Manager” och lägga till följande rad där:

php_value display_errors 1

Detaljerade steg för att hitta .htaccess-filen finns i denna artikel

När du har gjort dina ändringar, klicka på Spara.

Hur du ersätter saknade WordPress-filer

WordPress använder en enkel och organiserad filstruktur, vilket gör det relativt enkelt att återställa saknade eller skadade filer. Det är starkt rekommenderat att ersätta de ursprungliga kärnfilerna, eftersom det säkerställer att alla filer som komprometterats av skadlig kod återställs helt. Var dock försiktig: att ersätta vissa filer eller mappar kan leda till dataförlust om det inte görs korrekt.

Följ stegen nedan för att ersätta saknade WordPress-filer:

  1. Logga in på ditt cPanel och gå till Softaculous Apps Installer.

  2. Skapa en ny WordPress-installation i en tillfällig underkatalog. För att göra detta, klicka på WordPress-ikonen och välj sedan Installera:


  3. Du kommer att omdirigeras till installationsinställningarna. Där väljer du det aktuella domännamnet i rullgardinsmenyn och anger namnet på en underkatalog i fältet I katalog.

    I detta exempel använder vi underkatalogen ”fix” för WordPress-installationen:


    OBS: Om du ersätter alla standardfiler kommer din befintliga installation att uppdateras till versionen som används i den tillfälliga ”fix”-installationen, och att blanda filer från olika versioner kan orsaka systemkonflikter och förstöra webbplatsens funktionalitet.

    Om det är viktigt att behålla din nuvarande WordPress-version, eller om du bara planerar att ersätta specifika filer, kontrollera versionen av din webbplats i /wp-includes/version.php -filen och se till att den nya installationen använder samma WordPress-version:


  4. Du kan välja WordPress-version för den nya installationen direkt i installationsfönstret:


  5. När alla inställningar är konfigurerade, klicka på Snabbinstallation eller scrolla längst ner på installationssidan och klicka på Installera

  6. När den nya WordPress-installationen är klar kommer dess filer att visas i ”File Manager” > rotkatalogen för din domän. Öppna mappen genom att dubbelklicka på den:


  7. För att ersätta en specifik saknad fil (t.ex. wp-settings.php), leta upp den filen i den nya installationens katalog.

  8. Flytta sedan filen till din nuvarande webbplats rotkatalog genom att högerklicka på filen > klicka på Flytta > ange sökvägen till din webbplats rotmapp > klicka på Flytta fil(er)


  9. När det är klart har den saknade filen återställts och din webbplats bör nu laddas korrekt.

Hur du ersätter alla standardfiler i WordPress

Vid processen att ersätta alla standardfiler för en webbplats är steg 1–6 samma som i avsnittet ”Hur du ersätter saknade WordPress-filer”. 

När dessa steg är slutförda och den nya WordPress-installationen är skapad, följ dessa steg för att ersätta alla standardfiler i din webbplats rotmapp:

  1. Öppna den nya WordPress-installationens rotmapp:


  2. I den nya installationsmappen, ta bort följande filer och mappar:


    • .htaccess

    • wp-config.php

    • wp-content

      Dessa filer och mappar innehåller din webbplats konfiguration och innehåll och måste förbli oförändrade.

  3. Flytta sedan de återstående filerna till rotkatalogen för din huvudsajt. För detta, använd knappen Markera alla > klicka på Flytta > ange sökvägen till din sajts rotmapp > klicka på Flytta fil(er):


  4. Dina WordPress-kärnfiler har nu ersatts helt. Besök din webbplats för att bekräfta att allt laddas korrekt.

    Om webbplatsen fortfarande visar fel, kontrollera error_log igen. I de flesta fall orsakas ytterligare problem av saknade tema- eller tilläggsfiler.

Saknade tema- eller tilläggsfiler

Saknade tema- eller tilläggsfiler kan uppstå av flera orsaker, men den vanligaste är skadlig kod som infekterar och tar bort viktiga komponenter i din WordPress-installation. 

Om några av dina WordPress-tilläggs- eller temafiler saknas kan du stöta på:

  • En tom sida;

  • Ett 500 Internal Server Error;

  • Ett ”Den här webbplatsen har tekniska problem”-fel (infört i WordPress 5.2.2);

  • En delvis laddad eller visuellt ”trasig” sida.

För hjälp med att diagnostisera problemet, se följande avsnitt i denna artikel: Kontrollera error_log-filen för din webbplats och Aktivera PHP-alternativet display_errors.

Du kan se felmeddelanden liknande följande i din error_log eller direkt på webbplatsen:

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

Nedan är ett exempel på ett fel orsakat av en skadad eller saknad tilläggsfil:


För att återställa den saknade filen, installera om det berörda temat eller tillägget.

OBS! Saknade functions.php-filer i teman är ofta kopplade till wp-vcd.php-skadlig kod, som vanligtvis finns i katalogen /wp-includes. Innan du installerar ett nytt tema, ta bort wp-vcd.php om den finns, eller om du vill vara helt säker, ersätt alla standardfiler i WordPress enligt beskrivningen tidigare.

Skadliga omdirigeringar

I vissa fall, när din webbplats blir infekterad med skadlig kod, kan den börja omdirigera besökare till skadliga eller misstänkta sidor. Detta problem orsakas oftast av ett osäkert tillägg eller tema, vilket gör det möjligt för angripare att ändra databas-URL:er eller modifiera din webbplats filer.

OBS: Klicka aldrig på någon av de omdirigerade länkarna. Att göra det kan infektera din personliga dator med skadlig kod:


Följ stegen nedan för att åtgärda skadliga omdirigeringar:

  1. Leta upp en databasinställningsfil för din webbplats – wp-config.php i ditt cPanel > File Manager > webbplatsens rotmapp. Öppna filen och hitta webbplatsens databasnamn där:


  2. Öppna sedan databasen som är kopplad till din webbplats i menyn phpMyAdmin i ditt cPanel genom att klicka på den och navigera till tabellen wp_options (”wp_” är standardprefixet; ditt kan vara annorlunda):


  3. Granska värdena för fälten siteurl och home och om du ser skadliga eller misstänkta URL:er där, ersätt dem med ditt faktiska domännamn: 


  4. Skanna resten av din databas efter liknande skadliga URL:er och ersätt dem vid behov. 

  5. Byt tillfälligt ut din nuvarande .htaccess mot en ren standardversion. Det är bäst att byta namn på den befintliga filen (t.ex. .htaccess_old) och skapa en ny från grunden.

    För att byta namn på filen, dubbelklicka på den > välj Byt namn i listan > ange ett nytt filnamn > och tryck på Byt namn på fil.

    För att skapa en ny fil, klicka på + Fil > namnge den .htaccess > och välj Skapa ny fil.

  6. När den nya .htaccess har skapats, redigera den genom att högerklicka på den > välj Redigera i listan. När redigeringsfönstret är öppet, klistra in följande standardregler för WordPress i filen:

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

  7. Klicka på Spara ändringar.

Om din webbplats fortsätter att omdirigera, försök att ersätta alla standardkärnfiler i WordPress.

Du kan också tillfälligt inaktivera alla tillägg via WordPress-panelen eller databasen och försöka aktivera dem ett i taget. När varje tillägg är aktiverat, kontrollera webbplatsen för att upptäcka vilket som orsakar problemet med skadliga omdirigeringar.

En giltig e-postadress krävs