Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB-cupen
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man inaktiverar PHP-körning i vissa WordPress-kataloger

Att upptäcka en okänd PHP-fil i din WordPress-uppladdningsmapp är ett skrämmande ögonblick. Vi har hjälpt tusentals panikslagna användare att säkra sina webbplatser efter att ha upptäckt exakt denna sårbarhet.

Detta problem exponerar en dold säkerhetslucka som lämnar din webbplats öppen för angripare. Hackare använder dessa oskyddade kataloger för att ladda upp skadliga skript och skapa dolda bakdörrar.

Lyckligtvis kan du blockera denna vanliga attackmetod med några snabba justeringar. Att inaktivera PHP-körning i WordPress gör det svårare för illvilliga aktörer att ta kontroll över din webbplats.

Genom att blockera PHP-körning i WordPress-kataloger där det inte behövs, stänger du ett stort säkerhetshål.

Vi kommer att visa dig exakt hur du skyddar din webbplats steg för steg. Läs vidare för att lära dig hur du låser ner dina WordPress-kataloger och håller ditt hårda arbete säkert.

Hur man inaktiverar PHP-körning i vissa WordPress-kataloger

Varför inaktivera PHP-körning i vissa WordPress-kataloger?

Som standard gör WordPress vissa kataloger skrivbara så att du och andra behöriga användare på din webbplats enkelt kan ladda upp teman, plugins, bilder och videor till din webbplats.

Denna funktion kan dock missbrukas om den hamnar i fel händer, till exempel hackare som kan använda den för att ladda upp bakdörrsåtkomstfiler eller skadlig kod till din WordPress-webbplats.

Dessa skadliga filer är ofta förklädda till kärnfiler i WordPress. De är mestadels skrivna i PHP och kan köras i bakgrunden för att få fullständig åtkomst till alla aspekter av din webbplats.

Låter läskigt, eller hur?

Oroa dig inte. Det finns en enkel lösning för det. Inaktivera helt enkelt PHP-körning i vissa kataloger där du inte behöver det. Genom att göra det kommer inga PHP-filer att köras inuti dessa kataloger.

Låt oss titta på hur du kan förbättra WordPress-säkerheten genom att inaktivera PHP-exekvering med hjälp av .htaccess-filen.

Inaktivera PHP-exekvering i vissa WordPress-kataloger med .htaccess-fil

De flesta WordPress-sidor har en .htaccess-fil i rotmappen. Detta är en konfigurationsfil som används av Apache, en av de mest populära typerna av webbserverprogramvara. (Om din värd använder en annan server som Nginx, oroa dig inte, vi täcker det i FAQ-avsnittet nedan.)

Notera: Om du använder en Managed WordPress Hosting-leverantör, blockerar de troligen redan PHP-körning i din uppladdningsmapp som standard för att hålla din webbplats säker. Om du är osäker kan du alltid kontakta deras supportteam för att kontrollera!

Denna kraftfulla konfigurationsfil används för att lösenordsskydda adminområdet, inaktivera kataloglistning, generera en SEO-vänlig URL-struktur och mer.

Som standard finns .htaccess-filen i din WordPress-webbplats rotmapp, men du kan också skapa och använda ytterligare .htaccess-filer inuti dina inre WordPress-kataloger.

För att skydda din webbplats från bakdörrsåtkomstfiler måste du skapa en .htaccess-fil och ladda upp den till din webbplats /wp-content/uploads-katalog. Detta är den vanligaste platsen för hackare att försöka gömma skadliga skript, vilket gör det till den viktigaste mappen att låsa ner.

Skapa helt enkelt en ny fil på din dator med en vanlig textredigerare som Anteckningar (på Windows) eller TextEdit (på Mac). Om du använder en Mac, se till att gå till Format » Gör till ren text i toppmenyn.

Spara sedan den tomma filen och namnge den exakt .htaccess (se till att den inte sparas som .htaccess.txt av misstag).

Kopiera och klistra nu in följande kod i din .htaccess-fil:

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

Den här koden talar om för din server att blockera alla försök att köra en fil som slutar med .php direkt från den här mappen. När du har klistrat in koden, spara filen.

Därefter måste du ladda upp denna fil till mapparna /wp-includes och /wp-content/uploads på din WordPress-värdserver.

Proffstips: Om du gör ett misstag och din webbplats visar ett fel efter att ha laddat upp filen, få inte panik! Använd helt enkelt din FTP-klient för att ta bort .htaccess-filen du just laddade upp, så kommer din webbplats omedelbart att återgå till det normala.

Du kan ladda upp den med en FTP-klient eller appen Filhanteraren i din värdkontos cPanel-instrumentpanel.

Klicka på knappen Ladda upp i Bluehost filhanterare

När .htaccess-filen med ovanstående kod har lagts till kommer den att stoppa alla PHP-skript från att köras i dessa kataloger.

Bonus: Inaktivera kataloglistning i WordPress

Medan du redigerar din .htaccess-fil rekommenderar vi starkt att du tar ett steg till för att förbättra din WordPress-säkerhet: inaktivera kataloglistning.

Som standard, om din webbserver inte hittar en indexfil (som index.php eller index.html) i en mapp, kommer den automatiskt att visa en sida som visar alla filer och mappar inuti den katalogen.

Hackare älskar kataloglistning eftersom det gör det möjligt för dem att enkelt spionera runt dina filer och leta efter sårbarheter.

För att stoppa detta kan du helt enkelt lägga till en kodrad i din .htaccess-fil för webbplatsen (den som finns i din rotkatalog, inte den du precis lade till i din uppladdningsmapp):

Options -Indexes

För mer detaljerade instruktioner kan du kolla in vår dedikerade guide om hur man inaktiverar kataloglistning i WordPress.

Kontrollera efter bakdörrar i WordPress med Sucuri

Att använda detta .htaccess-knep hjälper dig att stärka din WordPress-säkerhet, men det kommer inte att fixa en WordPress-sida som redan har blivit hackad.

Bakdörrar är smart förklädda och kan redan vara gömda iögonfallande.

Om du vill kontrollera efter möjliga bakdörrar på din webbplats, måste du aktivera Sucuri på din webbplats.

Sucuri

Sucuri är den bästa WordPress-säkerhetspluginen på marknaden. Den skannar din webbplats efter möjliga hot, misstänkt kod, skadlig kod och sårbarheter.

Den blockerar också effektivt de flesta hackningsförsök från att ens nå din webbplats genom att lägga till en brandvägg mellan din webbplats och misstänkt trafik.

Viktigast av allt, om din WordPress-sida blir hackad, så städar den upp den åt dig. För att lära dig mer kan du läsa vår Sucuri-recension eftersom vi har använt deras tjänst i flera år.

Du kan lära dig mer i vår guide om att hitta och åtgärda bakdörrar i en hackad WordPress-sida.

Vanliga frågor om att inaktivera PHP-körning

Här är några av de vanligaste frågorna vi får om att härda WordPress-säkerheten genom att inaktivera PHP-körning i vissa kataloger.

1. Vad är en .htaccess-fil och var finns den?

Filen .htaccess är en serverkonfigurationsfil som används av Apache-webbservrar. I WordPress styr den saker som din webbplats URL-struktur och kan användas för att lägga till säkerhetsregler. Du hittar den vanligtvis i huvudrotmappen för din WordPress-installation.

2. Kommer inaktivering av PHP-körning i uppladdningsmappen att bryta min webbplats?

Nej, denna säkerhetsåtgärd bör inte påverka din webbplats normala funktion. Katalogen wp-content/uploads är endast avsedd för medieuppladdningar som bilder och videor, inte för att köra PHP-filer. Dina teman och plugins lagrar sina nödvändiga filer i separata mappar där PHP-exekvering fortfarande är säkert tillåten.

3. Räcker detta .htaccess-knep för att helt säkra min webbplats?

Även om detta är ett effektivt och viktigt säkerhetssteg, är det bara en del av en fullständig säkerhetsplan. En komplett strategi bör också inkludera att använda en WordPress-säkerhetsplugin, hålla alla dina teman och plugins uppdaterade och upprätthålla starka lösenord för alla användare.

4. Vad händer om min webbhotell använder Nginx istället för Apache?

Tricket med .htaccess-filen fungerar bara på Apache-webbservrar. Om din WordPress-värdleverantör använder Nginx kan du inte använda en .htaccess-fil för att inaktivera PHP-exekvering i WordPress-kataloger.

Istället kräver Nginx att en specifik regel (ett 'location block') läggs till direkt i din servers nginx.conf-konfigurationsfil för att neka PHP-åtkomst i uppladdningsmappen.

Notera: Att redigera Nginx-konfigurationsfiler är en avancerad uppgift. En enda syntaxfel kan krascha hela din webbserver. Dessutom begränsar många hanterade WordPress-värdar åtkomsten till dessa kärnfiler.

På grund av detta rekommenderar vi starkt att du kontaktar din värdleverantörs supportteam. De kan säkert lägga till de korrekta Nginx-nekningsreglerna på din server åt dig på bara några minuter.

5. Vad ska jag göra om jag får ett fel efter att ha lagt till .htaccess-filen?

Först, oroa dig inte! Du har inte permanent förstört din webbplats. Ta helt enkelt bort .htaccess-filen du precis laddade upp till din /wp-content/uploads-mapp, så kommer din webbplats att vara online igen.

Om du fick ett '500 Internal Server Error' efter att ha laddat upp filen, betyder det vanligtvis att din webbvärd använder en äldre version av Apache-serverprogramvaran. För att åtgärda detta, öppna din .htaccess-fil och ersätt koden du lade till med följande kodavsnitt istället:

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

Spara filen och ladda upp den igen. Denna äldre version av koden gör samma sak men är kompatibel med föråldrade servrar.

Ytterligare resurser om hur du förbättrar WordPress-säkerheten

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du inaktiverar PHP-körning i vissa WordPress-kataloger för att härda din webbplatssäkerhet. Du kanske också vill lära dig några andra säkerhetstekniker. Här är några av våra bästa guider för att förbättra WordPress-säkerheten:

Om du gillade den här artikeln, prenumerera gärna på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Avslöjande: Vårt innehåll stöds av läsarna. Det betyder att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

42 CommentsLeave a Reply

  1. angående att inaktivera php-exekvering i wp-includes-mappen för att förhindra att bakdörrskod körs etc. – men det verkar finnas många, många php-filer i den mappen, till exempel: admin-bar.php eller author-template.php för att nämna några som verkar viktiga att kunna köra, och jag undrar om placering av en htaccess-fil i den mappen inte stoppar dessa filer från att köras och eventuellt stör wordpress kärnfunktioner? förresten tack för många bra artiklar på din webbplats

    • Om du inte har ett specifikt plugin som lägger till funktionalitet till filerna bör det inte finnas något problem som förhindrar PHP-körning i mapparna.

      Admin

      • Tack för ditt svar. Min konfiguration är enkel: astra/spectra, malcare och all in one seo, i så fall kommer jag att placera .htaccess i wp-includes också. Tack igen för många bra artiklar

  2. Jag ser detta som ett utmärkt sätt att säkra en webbplats genom att inaktivera PHP-körning i mappar. Enligt den här artikeln är det bara två kataloger som är säkrade, vad händer med andra? Är de säkrade naturligt eller behöver hackare det inte under försöket?

    • Andra delar av din webbplats filer kräver normalt striktare åtkomst eller har php-filer som krävs för att din webbplats ska fungera.

      Admin

  3. Tack för dessa säkerhetstips. Jag har skapat en htaccess-fil och kommer att ladda upp den till FTP. Jag har en webbplats på min egen server, så frågan om säkerhet är helt upp till mig. Tack för nästa steg för att göra min WordPress lite säkrare igen.

  4. Jag har också detta meddelande på mitt Updraft-plugin där säkerhetskopieringar inte sker, kan detta bero på htaccess?

    "Backup-katalog kunde inte skapas...

    Mappen finns, men din webbserver har inte behörighet att skriva till den. Du måste kontakta din webbhotell för att ta reda på hur du ställer in behörigheter för ett WordPress-plugin att skriva till katalogen. (wp-content/updraft)

  5. FYI: du har ett stavfel i din kodsnutt för .htaccess-snutten.

    Att använda ditt kodavsnitt som det är (utan avslutande /) bryter bildladdningen.

  6. Jag har hittat några .php-filer i uppladdningsmappen som skapats av plugins. Kan jag anta att detta inte orsakar ett problem, eller måste jag analysera varje plugin individuellt?

    • Om du kontaktar dina plugins kan de informera dig om detaljerna för dessa filer.

      Admin

  7. Bra skrivet! Du har en fallenhet för informativt skrivande. Ditt innehåll har imponerat mig bortom ord. Jag har stor beundran för ditt skrivande. Tack för alla dina värdefulla bidrag i detta ämne.

  8. Killar, jag tror att jag har förstört min htaccess-fil, min webbplats visar inte bilder alls

    • Hej Thato,

      Du kan ladda ner din .htaccess-fil till din dator som en säkerhetskopia och sedan ta bort den från din webbplats. Gå till WordPress adminområde Inställningar » Permalänkar och klicka på knappen Spara ändringar. Detta bör generera din .htaccess-fil på nytt.

      Admin

  9. Gör inte wp-content.
    Gör wp-content/uploads.

    Och detta:

    order allow,deny
    deny from all

    Kan variera mycket på servrar.

  10. Påverkar det filuppladdningarna för att ladda upp på webbsidor?
    Jag upptäckte att efter att ha laddat upp denna htaccess-fil till mappen visas många bilder från många inlägg inte.

  11. Ja, att neka åtkomst till php-filer i inkluderingskatalogen bryter webbplatsen eftersom inkludering faktiskt följer .htaccess-restriktioner.

    Men begränsningen på uppladdningskatalogen är mycket smart, och detta bör finnas där .SOM STANDARD i uppladdningskatalogen, och det finns ingen bra anledning till att den inte ska finnas där.

  12. ZOMG! kan du inte bara inaktivera skrivåtkomst till mappen /wp-includes?
    Varför kämpa med konsekvenser när du kan förhindra orsaken?

    • Skulle inte detta hindra wordpress från att kunna uppdatera filerna i kärnuppdateringar?

  13. Du kan också lägga detta i din Apache virtualhost, vilket kommer att uppnå samma sak:

    Order tillåt,neka
    Neka från alla

  14. hur man implementerar denna kod om vi har en kombination av små och stora bokstäver i filändelsen till exempel on.php på min webbplats fungerar det men det fungerar inte om filen heter med.PHp, .PHP .PhP eller en kombination av dem, bakdörrsskriptet körs fortfarande

    Tack

  15. Hej Syed,
    Tack för ett så informativt inlägg och det ger faktiskt en bra lösning för att rädda WordPress från hackare.

  16. Hej!

    Jag följde alla dina instruktioner i den här artikeln, men det fungerar inte...

    Tack

  17. Jag skapade en .htaccess-fil i mappen wp-includes. Webbplatsen såg okej ut men min WYSIWYG-redigerare på admin-sidorna fungerade inte. Var tvungen att ta bort .htaccess-filen igen. (WP 3.9.1)

  18. Jag hittade också min wp-includes-mapp full av php-filer och jag kan inte se hur användningen av den .htaccess-filen där inte skulle förstöra något. Jag använde den i uploads-katalogen.

  19. förlåt min dåliga engelska…
    i följde alla dina instruktioner i den här artikeln, men när jag går till min instrumentpanel för att lägga till ett nytt inlägg, var min inläggssektion rörig. … jag misstänker att .htaccess var problemet.
    när jag tog bort den var inlägget bra.

  20. Jag lade till .htaccess-filen i min wp-includes och hade inga problem. Tack så mycket för tipsen.

  21. Jag provade detta i min /wp-includes/-katalog, som är full av php-filer. Självklart kunde jag inte längre komma åt webbplatsen. Menade du verkligen att inkludera inkluderingskatalogen för användning med .htaccess-filen?

    Menade du kanske /wp-includes/images ?

      • Konstigt, min wp-includes-mapp har över 90 php-filer i sig. Och det bryter webbplatsen. Jag tog bort det omedelbart.

        Men jag lade den i mappen /wp-content/uploads/ och den fungerar alldeles utmärkt där. Tack för att du svarade

        • Att placera en htaccess-fil som nekar åtkomst till php-filer i en katalog full av php-filer verkar ganska märkligt. Jag antar att det beror på att dessa filer normalt bara inkluderas, inte körs direkt. Om det stämmer, vore det inte bättre att bara neka åtkomst till hela katalogen?

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarpolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.