Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come disabilitare l'esecuzione di PHP in determinate directory di WordPress

Individuare un file PHP sconosciuto nella cartella di caricamento di WordPress è un momento terrificante. Abbiamo aiutato migliaia di utenti in preda al panico a proteggere i loro siti dopo aver scoperto questa esatta vulnerabilità.

Questo problema espone un gap di sicurezza nascosto che lascia il tuo sito web aperto agli aggressori. Gli hacker utilizzano queste directory non protette per caricare script dannosi e creare backdoor nascoste.

Fortunatamente, puoi bloccare questo comune metodo di attacco con alcuni rapidi aggiustamenti. Disabilitare l'esecuzione di PHP in WordPress rende più difficile per gli attori malintenzionati prendere il controllo del tuo sito web.

Bloccando l'esecuzione di PHP nelle directory di WordPress dove non è necessaria, chiudi una grave falla di sicurezza.

Ti mostreremo esattamente come proteggere il tuo sito passo dopo passo. Continua a leggere per scoprire come bloccare le tue directory di WordPress e mantenere al sicuro il tuo duro lavoro.

Come disabilitare l'esecuzione di PHP in determinate directory di WordPress

Perché disabilitare l'esecuzione di PHP in determinate directory di WordPress?

Per impostazione predefinita, WordPress rende determinate directory scrivibili in modo che tu e altri utenti autorizzati sul tuo sito web possiate caricare facilmente temi, plugin, immagini e video sul tuo sito web.

Tuttavia, questa funzionalità può essere sfruttata se cade nelle mani sbagliate, come hacker che possono usarla per caricare file di accesso backdoor o malware sul tuo sito web WordPress.

Questi file dannosi sono spesso mascherati da file core di WordPress. Sono scritti principalmente in PHP e possono essere eseguiti in background per ottenere l'accesso completo a ogni aspetto del tuo sito web.

Sembra spaventoso, vero?

Non preoccuparti. Esiste una soluzione semplice. Disabilita semplicemente l'esecuzione di PHP in determinate directory in cui non ti serve. In questo modo, nessun file PHP verrà eseguito all'interno di tali directory.

Vediamo come migliorare la sicurezza di WordPress disabilitando l'esecuzione di PHP tramite il file .htaccess.

Disabilitare l'esecuzione di PHP in determinate directory di WordPress utilizzando il file .htaccess

La maggior parte dei siti WordPress ha un file .htaccess nella cartella principale. Questo è un file di configurazione utilizzato da Apache, uno dei tipi più diffusi di software per server web. (Se il tuo host utilizza un server diverso come Nginx, non preoccuparti, ne parliamo nella sezione FAQ qui sotto).

Nota: Se stai utilizzando un provider di Hosting WordPress Gestito, è probabile che blocchino già l'esecuzione di PHP nella tua cartella di caricamento per impostazione predefinita per mantenere il tuo sito sicuro. Se non sei sicuro, puoi sempre contattare il loro team di supporto per verificarlo!

Questo potente file di configurazione viene utilizzato per proteggere con password l'area di amministrazione, disabilitare la navigazione delle directory, generare una struttura di URL ottimizzata per la SEO e altro ancora.

Per impostazione predefinita, il file .htaccess si trova nella cartella principale del tuo sito web WordPress, ma puoi anche creare e utilizzare file .htaccess aggiuntivi all'interno delle tue directory interne di WordPress.

Per proteggere il tuo sito web da file di accesso backdoor, devi creare un file .htaccess e caricarlo nella directory /wp-content/uploads del tuo sito. Questo è il posto più comune in cui gli hacker cercano di nascondere script dannosi, rendendolo la cartella più importante da bloccare.

Crea semplicemente un nuovo file sul tuo computer utilizzando un editor di testo semplice come Blocco note (su Windows) o TextEdit (su Mac). Se stai usando un Mac, assicurati di andare su Formato » Rendi testo semplice nel menu in alto.

Successivamente, salva il file vuoto e nominalo esattamente .htaccess (assicurati che non venga salvato accidentalmente come .htaccess.txt).

Ora, copia e incolla il seguente codice nel tuo file .htaccess:

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

Questo codice dice al tuo server di bloccare qualsiasi tentativo di eseguire direttamente un file che termina con .php da questa cartella. Una volta incollato il codice, salva il file.

Successivamente, devi caricare questo file nelle cartelle /wp-includes e /wp-content/uploads sul tuo server di hosting WordPress.

Suggerimento Pro: Se commetti un errore e il tuo sito web mostra un errore dopo aver caricato questo file, non farti prendere dal panico! Usa semplicemente il tuo client FTP per eliminare il file .htaccess che hai appena caricato e il tuo sito tornerà istantaneamente alla normalità.

Puoi caricarlo utilizzando un client FTP o l'app File Manager nella dashboard cPanel del tuo account di hosting.

Fai clic sul pulsante Carica nel gestore file Bluehost

Una volta aggiunto il file .htaccess con il codice sopra, impedirà l'esecuzione di qualsiasi script PHP in queste directory.

Bonus: Disabilita la navigazione delle directory in WordPress

Mentre stai modificando il tuo file .htaccess, ti consigliamo vivamente di fare un altro passo per migliorare la sicurezza di WordPress: disabilitare la navigazione delle directory.

Per impostazione predefinita, se il tuo server web non trova un file di indice (come index.php o index.html) in una cartella, visualizzerà automaticamente una pagina che mostra tutti i file e le cartelle all'interno di quella directory.

Agli hacker piace la navigazione delle directory perché consente loro di curiosare facilmente tra i tuoi file e cercare vulnerabilità.

Per interrompere questo, puoi semplicemente aggiungere una riga di codice al file .htaccess principale del tuo sito web (quello situato nella tua directory principale, non quello che hai appena aggiunto alla tua cartella di caricamento):

Options -Indexes

Per istruzioni più dettagliate, puoi consultare la nostra guida dedicata su come disabilitare la navigazione delle directory in WordPress.

Ricerca di backdoor in WordPress con Sucuri

L'utilizzo di questo trucco .htaccess aiuta a rafforzare la sicurezza di WordPress, ma non risolverà un sito WordPress già compromesso.

I backdoor sono abilmente mascherati e possono già essere nascosti in piena vista.

Se vuoi verificare la presenza di possibili backdoor sul tuo sito web, devi attivare Sucuri sul tuo sito web.

Sucuri

Sucuri è il miglior plugin di sicurezza per WordPress sul mercato. Scansiona il tuo sito web alla ricerca di potenziali minacce, codice sospetto, malware e vulnerabilità.

Blocca anche efficacemente la maggior parte dei tentativi di hacking prima ancora che raggiungano il tuo sito web aggiungendo un firewall tra il tuo sito e il traffico sospetto.

Soprattutto, se il tuo sito WordPress viene compromesso, lo ripulirà per te. Per saperne di più, puoi leggere la nostra recensione di Sucuri perché utilizziamo il loro servizio da anni.

Puoi saperne di più nella nostra guida su come trovare e correggere le backdoor in un sito WordPress compromesso.

Domande frequenti sulla disabilitazione dell'esecuzione PHP

Ecco alcune delle domande più comuni che ci vengono poste riguardo al rafforzamento della sicurezza di WordPress disabilitando l'esecuzione PHP in determinate directory.

1. Cos'è un file .htaccess e dove si trova?

Il file .htaccess è un file di configurazione del server utilizzato dai server web Apache. In WordPress, controlla elementi come la struttura degli URL del tuo sito web e può essere utilizzato per aggiungere regole di sicurezza. Di solito puoi trovarlo nella cartella principale della tua installazione di WordPress.

2. La disabilitazione dell'esecuzione PHP nella cartella uploads danneggerà il mio sito web?

No, questa misura di sicurezza non dovrebbe influire sul normale funzionamento del tuo sito web. La directory wp-content/uploads è destinata solo ai caricamenti multimediali come immagini e video, non all'esecuzione di file PHP. I tuoi temi e plugin conservano i loro file necessari in cartelle separate dove l'esecuzione di PHP è ancora consentita in sicurezza.

3. Questo trucco .htaccess è sufficiente per proteggere completamente il mio sito?

Sebbene questo sia un passaggio di sicurezza efficace e importante, è solo una parte di un piano di sicurezza completo. Una strategia completa dovrebbe includere anche l'utilizzo di un plugin di sicurezza per WordPress, il mantenimento aggiornato di tutti i temi e plugin e l'applicazione di password complesse per tutti gli utenti.

4. Cosa succede se il mio web host utilizza Nginx invece di Apache?

Il trucco del file .htaccess funziona solo sui server web Apache. Se il tuo provider di hosting WordPress utilizza Nginx, non puoi usare un file .htaccess per disabilitare l'esecuzione di PHP nelle directory di WordPress.

Invece, Nginx richiede l'aggiunta di una regola specifica (un 'blocco di posizione') direttamente nel file di configurazione nginx.conf del tuo server per negare l'accesso PHP nella cartella di caricamento.

Nota: La modifica dei file di configurazione Nginx è un'attività avanzata. Un singolo errore di sintassi può bloccare l'intero server web. Inoltre, molti host WordPress gestiti limitano l'accesso a questi file principali.

Per questo motivo, ti consigliamo vivamente di contattare il team di supporto del tuo provider di hosting. Possono aggiungere in sicurezza le regole di negazione Nginx corrette al tuo server in pochi minuti.

5. Cosa devo fare se ricevo un errore dopo aver aggiunto il file .htaccess?

Innanzitutto, non preoccuparti! Non hai rotto permanentemente il tuo sito web. Elimina semplicemente il file .htaccess che hai appena caricato nella tua cartella /wp-content/uploads e il tuo sito tornerà online.

Se hai visualizzato un 'Errore interno del server 500' dopo aver caricato il file, di solito significa che il tuo host web sta utilizzando una versione precedente del software del server Apache. Per risolvere questo problema, apri il tuo file .htaccess e sostituisci il codice che hai aggiunto con il seguente snippet invece:

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

Salva il file e ricaricalo. Questa versione precedente del codice fa la stessa cosa ma è compatibile con i server obsoleti.

Risorse aggiuntive su come migliorare la sicurezza di WordPress

Speriamo che questo articolo ti abbia aiutato a capire come disabilitare l'esecuzione di PHP in determinate directory di WordPress per rafforzare la sicurezza del tuo sito web. Potresti anche voler imparare altre tecniche di sicurezza. Ecco alcune delle nostre migliori guide per migliorare la sicurezza di WordPress:

Se ti è piaciuto questo articolo, iscriviti al nostro Canale YouTube per tutorial video su WordPress. Puoi trovarci anche su Twitter e Facebook.

Divulgazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

42 CommentsLeave a Reply

  1. riguardo alla disabilitazione delle esecuzioni PHP nella cartella wp-includes per evitare l'esecuzione di codice backdoor, ecc. – ma sembrano esserci molti molti file PHP in quella cartella, ad esempio: admin-bar.php o author-template.php per citarne alcuni che sembrano importanti da poter eseguire e mi chiedo se inserire un file htaccess in quella cartella non bloccherà l'esecuzione di quei file e possibilmente interromperà le funzionalità principali di WordPress? a proposito, grazie per i molti ottimi articoli sul tuo sito web

    • A meno che tu non abbia un plugin specifico che aggiunge funzionalità ai file, non dovrebbe esserci alcun problema a impedire l'esecuzione di PHP nelle cartelle.

      Amministratore

      • Grazie per la tua risposta. la mia configurazione è semplicemente: astra/spectra, malcare e all in one seo, in quel caso inserirò anche .htaccess in wp-includes. Grazie ancora per i molti ottimi articoli

  2. Vedo questo come un ottimo modo per proteggere un sito web disabilitando l'esecuzione di PHP nelle cartelle. Secondo questo articolo, solo due directory sono protette, che dire delle altre? Sono protette naturalmente o gli hacker non ne hanno bisogno durante il tentativo?

    • Altre sezioni dei file del tuo sito normalmente richiedono un accesso più rigoroso o hanno file PHP necessari per il corretto funzionamento del tuo sito.

      Amministratore

  3. Grazie per questi consigli sulla sicurezza. Ho creato un file htaccess e lo caricherò via FTP. Ho un sito web sul mio server, quindi la questione della sicurezza dipende interamente da me. Grazie per il prossimo passo per rendere il mio WordPress un po' più sicuro.

  4. Ho anche questo avviso sul mio plugin Updraft dove i backup non vengono eseguiti, può essere dovuto a htaccess?

    “Impossibile creare la directory di backup…

    La cartella esiste, ma il tuo webserver non ha i permessi per scriverci. Dovrai consultare il tuo provider di hosting web per scoprire come impostare i permessi affinché un plugin WordPress possa scrivere nella directory. (wp-content/updraft)

  5. FYI: hai un errore di battitura nel tuo snippet di codice per lo snippet .htaccess.

    Usare il tuo snippet di codice così com'è (senza la / di chiusura) interrompe il caricamento delle immagini.

  6. Ho trovato alcuni file .php nella cartella uploads creati dai plugin. Posso presumere che questo non causerà problemi, o devo analizzare ogni plugin individualmente?

    • Se contatti i tuoi plugin, possono informarti sui dettagli specifici di quei file.

      Amministratore

  7. Ottima scrittura! Hai un talento per la scrittura informativa. I tuoi contenuti mi hanno impressionato oltre ogni dire. Ho molta ammirazione per la tua scrittura. Grazie per tutti i tuoi preziosi contributi su questo argomento.

  8. Ragazzi, penso di aver combinato un pasticcio con il mio file htaccess, il mio sito web non visualizza affatto le immagini

    • Ciao Thato,

      Puoi scaricare il tuo file .htaccess sul tuo computer come backup e poi eliminarlo dal tuo sito web. Vai nell'area di amministrazione di WordPress Impostazioni » Permalink e fai clic sul pulsante Salva modifiche. Questo dovrebbe rigenerare il tuo file .htaccess.

      Amministratore

  9. Non fare wp-content.
    Fai wp-content/uploads.

    E questo:

    order allow,deny
    deny from all

    Può variare molto sui server.

  10. Influisce sul file uploads per caricare sulle pagine web?
    Ho scoperto che dopo aver caricato questo file htaccess nella cartella, molte immagini di molti post non vengono visualizzate.

  11. Sì, negare l'accesso ai file php nella directory includes rompe il sito perché l'inclusione rispetta effettivamente le restrizioni .htaccess.

    Ma la restrizione sulla directory uploads è molto intelligente, e questa dovrebbe esserci .DI DEFAULT nella directory uploads, e non c'è motivo valido per cui non dovrebbe essere presente.

  12. ZOMG! non puoi semplicemente disabilitare l'accesso in scrittura alla cartella /wp-includes?
    Perché combattere con le conseguenze quando puoi prevenire la causa?

    • Questo non impedirebbe a WordPress di poter aggiornare i file negli aggiornamenti core?

  13. Puoi anche inserire questo nel tuo virtualhost Apache, che otterrà lo stesso risultato:

    Order allow,deny
    Deny from all

  14. come implementare questo codice se abbiamo una combinazione di lettere minuscole e maiuscole nell'estensione del file, ad esempio on.php sul mio sito funziona ma non funziona se il file è nominato con.PHp, .PHP .PhP o una combinazione di essi, lo script backdoor viene ancora eseguito

    Grazie

  15. Ciao Syed,
    Grazie per un post così informativo e in effetti fornisce un'ottima soluzione per salvare WordPress dagli hacker.

  16. Ho creato un file .htaccess nella cartella wp-includes. Il sito sembrava ok ma il mio editor WYSIWYG nelle pagine di amministrazione non funzionava. Ho dovuto rimuovere di nuovo il file .htaccess. (WP 3.9.1)

  17. Ho anche trovato la mia cartella wp-includes piena di file php e non riesco a capire come usare quel file .htaccess al suo interno non possa rompere qualcosa. L'ho usato nella directory uploads.

  18. perdonami il mio inglese stentato…
    ho seguito tutte le tue istruzioni in questo articolo, ma quando vado nella mia dashboard per aggiungere un nuovo post, la mia sezione post era rovinata. … sospetto che il problema fosse il file .htaccess.
    quando l'ho cancellato, il post era a posto.

  19. Ho aggiunto il file .htaccess alla mia wp-includes e non ho avuto problemi. Grazie mille per i consigli.

  20. Ho provato questo nella mia directory /wp-includes/, che è piena di file php. Ovviamente non potevo più accedere al sito. Intendevi davvero includere la directory includes per l'uso con il file .htaccess?

    Forse intendevi /wp-includes/images?

    • No. Intendevamo la cartella /wp-includes/. Ce l'abbiamo nella nostra cartella wp-includes/. Se per qualche motivo sta danneggiando il tuo sito, allora cancella il file .htaccess dalla tua cartella wp-includes.

      Amministratore

      • Strano, la mia cartella wp-includes ha oltre 90 file php. E danneggia il sito. L'ho tolto immediatamente.

        Ma l'ho messo nella cartella /wp-content/uploads/ e funziona benissimo lì. Grazie per aver risposto

        • Mettere un file htaccess che nega l'accesso ai file php in una directory piena di file php sembra piuttosto strano. Presumo sia perché questi file vengono normalmente solo inclusi, non eseguiti direttamente. Se è così, non sarebbe meglio negare l'accesso all'intera directory?

Lascia un commento

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.