Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
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 hitta en konstig PHP-fil i din WordPress-uppladdningsmapp kan vara oroande. Vi känner till den här känslan väl eftersom vi har hjälpt hundratals användare som har upptäckt samma problem.

Detta pekar ofta på en säkerhetslucka som många människor förbiser. Hackare kan missbruka skrivbara kataloger för att ladda upp skadliga skript som ger dem bakdörråtkomst till din webbplats.

Den goda nyheten är att det finns ett enkelt sätt att blockera en av deras favoritattackmetoder. Genom att inaktivera PHP-körning i specifika mappar gör du din webbplats till ett mycket svårare mål.

Vi visar dig exakt hur du gör detta steg för steg. Låt oss gå igenom hur du lägger till detta viktiga säkerhetslager på din WordPress-webbplats.

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 man förbättrar WordPress-säkerheten genom att inaktivera PHP-körning med hjälp av .htaccess-filen.

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

De flesta WordPress-webbplatser 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-sektionen nedan.)

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örråtkomstfiler måste du skapa en .htaccess-fil och ladda upp den till din webbplats /wp-includes och /wp-content/uploads kataloger. Att skydda /wp-content/uploads mappen är särskilt viktigt, eftersom detta är den vanligaste platsen för hackare att försöka placera skadliga skript.

Skapa helt enkelt en ny fil på din dator med en textredigerare som Anteckningar (på Windows) eller Textredigerare (på Mac). Spara sedan den tomma filen med namnet .htaccess

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.

Ladda sedan upp den här filen till mapparna /wp-includes och /wp-content/uploads på din WordPress-värdserver.

Du kan ladda upp den med en FTP-klient eller appen Filhanteraren i din webbhotells 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.

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 åtgärda en WordPress-webbplats 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 bästa WordPress-säkerhetspluginet på marknaden. Det 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-webbplats blir hackad, så kommer den att rensa 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 fixa bakdörrar på en hackad WordPress-webbplats.

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?

.htaccess-filen ä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. Katalogerna wp-content/uploads och wp-includes är inte avsedda att innehålla PHP-filer som körs direkt. Dina teman och plugins behåller sina nödvändiga filer i separata mappar där PHP-körning fortfarande är 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 användning av ett WordPress-säkerhetsplugin, att hålla alla dina teman och plugins uppdaterade, och att införa starka lösenord för alla användare.

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

.htaccess-filen fungerar bara på Apache-webbservrar. Om din hosting-leverantör använder Nginx måste du lägga till en annan regel i din servers konfigurationsfil för att uppnå samma resultat. Vi rekommenderar att du kontaktar din hosts supportteam för hjälp med rätt kod för deras plattform.

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

I mycket sällsynta fall kan du se ett '500 Internal Server Error' efter att ha laddat upp filen. Detta betyder vanligtvis att din webbhotell använder en äldre version av Apache-serverprogramvaran.

Om detta händer, öppna helt enkelt 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.

Experthandledningar 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 då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär 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 kommentarspolicy, 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.