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

Trovare uno strano file PHP nella cartella di caricamento di WordPress può essere allarmante. Conosciamo bene questa sensazione perché abbiamo aiutato centinaia di utenti che hanno scoperto lo stesso problema.

Questo spesso indica una falla di sicurezza che molte persone trascurano. Gli hacker possono abusare delle directory scrivibili per caricare script dannosi che danno loro accesso backdoor al tuo sito web.

La buona notizia è che esiste un modo semplice per bloccare uno dei loro metodi di attacco preferiti. Disabilitando l'esecuzione di PHP in cartelle specifiche, rendi il tuo sito un bersaglio molto più difficile.

Ti mostreremo esattamente come fare passo dopo passo. Vediamo come aggiungere questo importante livello di sicurezza al tuo sito WordPress.

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 capacità può essere abusata se finisce nelle mani sbagliate, come gli 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 utilizzando 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ù popolari di software per server web. (Se il tuo host utilizza un server diverso come Nginx, non preoccuparti, lo trattiamo nella sezione FAQ qui sotto.)

Questo potente file di configurazione viene utilizzato per proteggere con password l'area di amministrazione, disabilitare la navigazione nelle directory, generare una struttura di URL SEO-friendly 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 nelle directory /wp-includes e /wp-content/uploads del tuo sito. Proteggere la cartella /wp-content/uploads è particolarmente importante, poiché questo è il luogo più comune in cui gli hacker cercano di inserire script dannosi.

Crea semplicemente un nuovo file sul tuo computer utilizzando un editor di testo come Blocco note (su Windows) o TextEdit (su Mac). Successivamente, salva il file vuoto con il nome .htaccess

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.

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.

Ricerca di backdoor in WordPress con Sucuri

Utilizzare questo trucco .htaccess ti aiuta a rafforzare la sicurezza del tuo WordPress, ma non risolverà un sito WordPress che è già stato violato.

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 possibili 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 hackerato, 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 backdoor in un sito WordPress hackerato.

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 cose 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. Le directory wp-content/uploads e wp-includes non sono destinate a contenere file PHP che vengono eseguiti direttamente. I tuoi temi e plugin conservano i loro file necessari in cartelle separate dove l'esecuzione PHP è ancora consentita.

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 aggiornati 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 file .htaccess funziona solo sui server web Apache. Se il tuo provider di hosting utilizza Nginx, dovrai aggiungere una regola diversa al file di configurazione del tuo server per ottenere lo stesso risultato. Ti consigliamo di contattare il team di supporto del tuo host per ricevere assistenza con il codice corretto per la loro piattaforma.

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

In casi molto rari, potresti visualizzare un 'Errore interno del server 500' dopo aver caricato il file. Ciò significa solitamente che il tuo web host utilizza una versione precedente del software del server Apache.

Se ciò accade, apri semplicemente il tuo file .htaccess e sostituisci il codice che hai aggiunto con il seguente snippet:

<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.

Guide Esperte 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 anche trovarci su Twitter e Facebook.

Dichiarazione: 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 una risposta

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.