Guida per Principianti al File .htaccess di WordPress

Pubblicato: di Jason Cosper
Guida per Principianti al File .htaccess di WordPress thumbnail

Mantenere il tuo sito sicuro dovrebbe essere una priorità massima per ogni amministratore. WordPress è una piattaforma sicura di base, ma ciò non significa che sia impermeabile agli attacchi. Fortunatamente, anche se non sei un esperto di sicurezza, puoi utilizzare un file chiamato .htaccess per rafforzare le politiche di sicurezza del tuo sito.

.htaccess è un file di configurazione per il server web Apache, che serve molti siti WordPress. È uno strumento potente che aiuta a proteggere il tuo sito e a migliorarne le prestazioni attraverso alcune piccole modifiche al suo codice. Modificando questo file, puoi vietare l’accesso agli utenti, creare reindirizzamenti, prevenire attacchi e perfino negare l’accesso a parti specifiche del tuo sito.

Introduzione al File .htaccess

.htaccess è l’abbreviazione di “HyperText Access”. Si tratta di un file di configurazione che determina come i server basati su Apache interagiscono con il tuo sito. In termini più semplici, .htaccess controlla come si può accedere ai file in una directory. Puoi pensarla come una guardia per il tuo sito perché decide chi far entrare e cosa sono autorizzati a fare.

Di default, un file .htaccess è tipicamente incluso nella tua installazione di WordPress. Lo scopo principale di questo file è migliorare la sicurezza e le prestazioni. Inoltre, ti permette anche di sovrascrivere le impostazioni del tuo server web.

È molto probabile che tu trovi il tuo file .htaccess nella directory principale del tuo sito. Poiché .htaccess si applica sia alla propria directory sia a tutte le sottodirectory all’interno di quella cartella principale, influisce su tutto il tuo sito WordPress.

È anche importante notare che il file .htaccess non ha un’estensione del file. Il punto all’inizio serve semplicemente a mantenere il file nascosto.

Come Modificare il Tuo File .htaccess di WordPress

Modificare il file .htaccess è, in pratica, semplice quanto modificare qualsiasi altro file di testo. Tuttavia, essendo questo un file principale, apportare modifiche può avere conseguenze non intenzionali.

Per questo motivo, è fondamentale che tu faccia un backup del tuo sito prima di iniziare, indipendentemente dal fatto che tu sia un principiante o uno sviluppatore esperto.

Quando sei pronto per modificare il tuo file .htaccess, puoi accedervi utilizzando il Secure File Transfer Protocol (SFTP) o Secure Shell (SSH). Troverai .htaccess nella directory radice del tuo sito:

File .htaccess di WordPress

Apri il file utilizzando il tuo editor di testo preferito, come TextEdit o Notepad. Se il file non è stato modificato in precedenza, vedrai le seguenti informazioni predefinite:

File .htaccess di WordPress

È importante non aggiungere o modificare nulla tra i tag # BEGIN e # END. Invece, tutto il nuovo codice dovrebbe essere aggiunto dopo questo blocco.

A questo punto, tutto ciò che devi fare è aggiungere il tuo codice e salvare il file. Quando includi più nuove funzioni, è meglio salvare e testare ciascuna separatamente. Se si verifica un errore, questo renderà molto più semplice individuare quale modifica ha causato il problema.

Mentre quasi tutte le installazioni di WordPress conterranno già un file .htaccess, in alcuni casi, potresti doverne creare uno. Puoi farlo utilizzando un editor di testo a tua scelta, purché lo salvi con il nome del file corretto: .htaccess senza estensione.

È importante anche configurare correttamente le impostazioni dei permessi del file. Puoi poi caricare .htaccess nella directory radice del tuo sito.

9 Cose Che Puoi Fare Con Il Tuo File .htaccess Di WordPress

Ora che sei familiare con il file .htaccess, è ora di approfondire. Ti presenteremo una serie di modi in cui puoi facilmente aumentare la sicurezza e le prestazioni del tuo sito modificando questo file.

Semplicemente usa i frammenti di codice che abbiamo fornito qui sotto, e ricorda di creare un backup prima di iniziare!

1. Nega L’Accesso A Parti Del Tuo Sito

Una delle cose più utili che puoi fare con .htaccess è negare l’accesso a determinate pagine e file. Ci sono alcuni file che dovresti considerare di nascondere in questo modo per motivi di sicurezza, come il tuo file wp-config.php.

Puoi farlo aggiungendo il seguente codice, che causerà la comparsa di un errore 404 se qualcuno tenta di visualizzare il file:

<Files ~ "/wp-config.php">
Order Allow,Deny
Deny from All
</Files>

Nei casi in cui i dati sensibili dovrebbero essere nascosti, può essere utile limitare l’accesso alla directory corrispondente. Poiché molti siti WordPress utilizzano la stessa struttura di cartelle, questa configurazione può rendere il tuo sito vulnerabile. Se aggiungi la seguente riga, disabiliterai la funzionalità di elenco delle directory predefinita:

Options -Indexes

Questo impedirà agli utenti e ai robot di visualizzare la struttura delle tue cartelle. Se qualcuno prova ad accedervi, gli verrà mostrata una pagina di errore 403 invece.

2. Reindirizza e Riscrivi URL

Creare redirect ti permette di inviare automaticamente gli utenti a una pagina specifica. I redirect possono essere particolarmente utili se una pagina è stata spostata o eliminata, e desideri che gli utenti che tentano di accedervi vengano reindirizzati altrove.

Puoi realizzare questo con un plugin come Redirection, ma è anche possibile farlo modificando il file .htaccess. Per creare un reindirizzamento, utilizza il seguente codice:

Reindirizza /oldfile.html http://www.example.com/newfile.html

Probabilmente capisci cosa sta succedendo qui. La prima parte è il percorso del vecchio file, mentre la seconda parte è l’URL a cui desideri che i visitatori vengano reindirizzati.

Ricevi contenuti direttamente nella tua casella di posta

Iscriviti ora per ricevere tutti gli ultimi aggiornamenti direttamente nella tua casella di posta.

3. Forza Il Tuo Sito A Caricare In Modo Sicuro Con HTTPS

<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>

Se hai aggiunto un certificato SSL al tuo dominio, come il certificato gratuito Let’s Encrypt di DreamHost, è una buona idea forzare il tuo sito a caricare tramite HTTPS. Questo garantirà che il tuo sito sia più sicuro sia per te che per i tuoi visitatori.

Puoi farlo accadere aggiungendo il seguente codice:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Il tuo sito reindirizzerà ora automaticamente tutte le richieste HTTP e le indirizzerà verso l’utilizzo di HTTPS. Ad esempio, se un utente tenta di accedere a http://www.example.com, verrà automaticamente reindirizzato a https://www.example.com.

4. Modifica Le Impostazioni Della Cache

La memorizzazione nella cache del browser è un processo in cui alcuni file del sito web vengono temporaneamente salvati sul dispositivo locale del visitatore per consentire alle pagine di caricarsi più velocemente. Usando .htaccess, puoi modificare la quantità di tempo durante il quale i tuoi file sono conservati nella cache del browser fino a quando non vengono aggiornati con nuove versioni.

Ci sono alcuni modi diversi per farlo, ma per questo esempio, useremo una funzione chiamata mod_headers. Il seguente codice cambierà il tempo massimo di caching per tutti i file jpg, jpeg, png e gif:

<ifModule mod_headers.c>
<filesMatch ".(jpg|jpeg|png|gif)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>

Abbiamo impostato il tempo massimo a 2.592.000 secondi, che corrisponde a 30 giorni. Puoi modificare questo valore se vuoi, così come le estensioni dei file che saranno interessate. Se desideri aggiungere impostazioni diverse per diverse estensioni, aggiungi semplicemente più funzioni mod_header.

5. Prevenire Determinati Attacchi Di Iniezione Di Script

Iniezione di script (o ‘iniezione di codice’) gli attacchi tentano di modificare il modo in cui un sito o un’applicazione viene eseguito aggiungendo codice non valido. Ad esempio, qualcuno potrebbe aggiungere uno script in un campo di testo sul tuo sito e poi inviarlo, il che potrebbe causare l’esecuzione dello script sul tuo sito.

Puoi aggiungere il seguente codice per proteggerti da certi tipi di iniezione di script:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Il tuo sito ora dovrebbe essere in grado di rilevare e fermare i tentativi di iniezione di script e reindirizzare il colpevole alla tua pagina index.php.

Tuttavia, è importante notare che questo esempio non proteggerà da tutti i tipi di attacchi di iniezione. Anche se questo codice specifico può certamente essere utile, non dovresti usarlo come unica protezione contro questo tipo di attacco.

6. Fermare Gli Attacchi Di Enumerazione Degli Username

L’enumerazione degli username è un processo in cui gli username del tuo sito vengono raccolti osservando la pagina dell’autore di ciascun utente. Questo è particolarmente problematico se qualcuno riesce a trovare il tuo username di amministrazione, il che rende molto più facile per i bot accedere al tuo sito.

Puoi aiutare a prevenire l’enumerazione degli username aggiungendo il seguente codice:

RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=d
RewriteRule .* - [R=403,L]

Questo bloccherà alcuni tentativi di enumerare gli username e mostrerà invece una pagina di errore 403. Ricorda che questo non impedirà tutte le enumerazioni, e dovresti testare accuratamente la tua sicurezza. Ti consigliamo anche di rafforzare ulteriormente la tua pagina di login implementando Autenticazione Multifattoriale.

7. Prevenire Il Hotlinking Delle Immagini

Il hotlinking delle immagini è un problema comune che si verifica quando le immagini sul tuo server vengono visualizzate su un altro sito. Puoi fermare questo aggiungendo il seguente codice a .htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC]
RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]

Sostituisci example.com con il tuo dominio e questo codice impedirà il caricamento delle immagini su tutti gli altri siti. Al contrario, verrà caricata l’immagine che specifichi nell’ultima riga. Puoi utilizzare questo per inviare un’immagine alternativa ai siti che tentano di visualizzare grafiche dal tuo server.

Fai attenzione perché ciò potrebbe causare problemi quando desideri che le immagini appaiano esternamente, come sui motori di ricerca. Potresti anche considerare di collegare uno script anziché un’immagine statica, quindi rispondere con un’immagine con filigrana o un’immagine che contiene una pubblicità.

8. Gestisci Le Tue Estensioni Di File

Usando .htaccess, puoi controllare come i file di diverse estensioni vengono caricati dal tuo sito. Ci sono molte cose che puoi fare con questa funzionalità, come eseguire file come PHP, ma per ora ci limiteremo a guardare un esempio base.

Il seguente codice rimuoverà l’estensione del file dai file PHP quando vengono caricati. Puoi utilizzare questo con qualsiasi tipo di file, purché sostituisci tutte le istanze di “php” con l’estensione che desideri:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/
RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/
RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]

Questo farà sì che tutti i file PHP vengano caricati senza mostrare la loro estensione nell’URL. Ad esempio, il file index.php apparirà semplicemente come index.

9. Forza Il Download Dei File

Infine, quando un file viene richiesto sul tuo sito, il comportamento predefinito è visualizzarlo nel browser. Ad esempio, se stai ospitando un file audio, inizierà a riprodursi nel browser anziché essere salvato sul computer del visitatore.

Puoi cambiare questo forzando il sito a scaricare il file invece. Questo può essere fatto con il seguente codice:

AddType application/octet-stream mp3

In questo esempio, abbiamo utilizzato file mp3, ma puoi usare la stessa funzione per txt, mov o qualsiasi altra estensione pertinente.

Migliora La Sicurezza E Le Prestazioni Del Tuo Sito

Il .htaccess file offre flessibilità per controllare il comportamento del tuo server web. Puoi anche utilizzarlo per aumentare le prestazioni del tuo sito e avere più controllo su chi può accedere a quali informazioni.

Con .htaccess, puoi negare l’accesso a parti specifiche del tuo sito web. Inoltre, ti permette di reindirizzare gli URL, costringere il tuo sito a caricarsi su HTTPS e prevenire alcuni attacchi di iniezione di script.

Modificare il tuo file .htaccess è solo uno dei modi per migliorare la sicurezza del tuo sito. Scegliere un provider di hosting WordPress sicuro è un altro. Scopri i nostri piani di hosting gestito DreamPress per vedere come possiamo potenziare la sicurezza e le prestazioni del tuo sito web!

Ad background image

Fai Di Più Con DreamPress

Gli utenti di DreamPress Plus e Pro hanno accesso a Jetpack Professional (e a più di 200 temi premium) senza costi aggiuntivi!

Scopri i Piani