10 utili snippet e hack di codice htaccess
Pubblicato: 2020-09-10.htaccess
è un file che ogni amministratore web dovrebbe conoscere e comprendere. Al suo livello di base, controlla l'accesso alle directory del tuo sito. Ma c'è molto di più di quello che puoi fare, come ti mostreranno i frammenti di questo post.
Se desideri imparare le basi di .htaccess
, dovresti consultare il nostro articolo Introduzione a .htaccess, che spiega abbastanza bene tutto ciò di cui avrai bisogno per iniziare a funzionare.
Potrebbero piacerti anche questi utili frammenti di query SQL di WordPress o questi frammenti che rendono WordPress facile da usare per i tuoi clienti.
1. Controllo dell'accesso a file e directory
La protezione con password è una cosa, ma a volte potrebbe essere necessario impedire completamente agli utenti di avere la possibilità di accedere a un particolare file o directory. Questo di solito accade con le cartelle di sistema, come la cartella includes
per cui le applicazioni avranno bisogno dell'accesso, ma nessun utente avrà mai bisogno del privilegio.
Per fare ciò, incolla questo codice su un file .htaccess
e rilascialo nella directory:
Tuttavia, questo bloccherà l'accesso a tutti, incluso te. Per concederti l'accesso, devi specificare il tuo indirizzo IP. Ecco il codice:
xxx.xxx.xxx.xxx
è il tuo IP. Se ad esempio sostituisci le ultime tre cifre con 0/12
, questo specificherà un intervallo di IP all'interno della stessa rete, risparmiandoti così la fatica di elencare tutti gli IP consentiti separatamente.
Se vuoi bloccare l'accesso a un particolare file, incluso .htaccess
stesso, usa invece il seguente snippet:
Allo stesso modo, se vuoi consentire determinati IP, elencali con allow from
.
Se vuoi bloccare l'accesso a particolari tipi di file, usa invece questo:
2. Disabilitazione della navigazione nella directory
Per impedire la navigazione nella directory, aggiungi questo:
Tuttavia, se per qualche motivo si desidera abilitare la navigazione nella directory, modificarla come segue:
3. Accelerare i tempi di caricamento comprimendo i file
Puoi comprimere qualsiasi tipo di file, non solo le immagini. Ad esempio, per comprimere i file HTML , utilizzare questo:
Per comprimere i file di TESTO , usa questo:
Puoi anche comprimere JavaScript o aggiungere compressione a più tipi di file con un comando:
In alternativa, se vuoi comprimere tutti i tuoi file JavaScript, HTML e CSS con GZIP, puoi usare questo:
4. Proteggi il tuo sito dagli hotlinking
Se non vuoi che le tue immagini siano collegate, aggiungi questo al tuo file .htaccess
:
Sostituisci semplicemente tuodominio.com con il tuo e sei a posto.
5. Bloccare i Visitatori Riferiti da un Dominio Particolare
Se hai utenti di un particolare dominio che non accogli con favore, puoi bandirli dal tuo sito. Ad esempio, se il tuo sito viene elencato in un luogo da cui non desideri ricevere traffico (ad es. siti per adulti, siti blackhat, ecc.), puoi servirli con una pagina 403 Proibita. Devi avere mod_rewrite
abilitato, ma dovresti andare bene dato che di solito è attivo. Aggiungi questo frammento:
Devi sostituire bannedurl1.com
e bannedurl2.com
ecc. con i nomi di dominio che desideri inserire nella lista nera. Potresti voler utilizzare il flag [NC]
perché specifica che il nome di dominio che hai inserito non fa distinzione tra maiuscole e minuscole. Il flag [F]
specifica l'azione da intraprendere, in questo caso per mostrare l'errore 403 Forbidden. Se vuoi bannare più siti, usa il flag [NC,OR]
per ogni dominio tranne l'ultimo e se vuoi bannare un singolo dominio usa solo il flag [NC]
.
6. Blocco delle richieste da particolari agenti utente
Se i tuoi file di log mostrano particolari user agent (bot o spider) puoi aggiungere alcune righe a .htaccess
e negare loro l'accesso al tuo sito:
Sostituisci badbot1
, badbot1
, ecc. con i nomi dei bot dai tuoi file di registro. Questo dovrebbe tenere tali programmi lontani dal tuo sito.
7. Memorizzazione dei file nella cache
Un altro modo per accelerare i tempi di caricamento del tuo sito è tramite la memorizzazione nella cache dei file. Ecco cosa devi aggiungere per memorizzare nella cache i file:
Puoi aggiungere più tipi di file (o rimuoverne alcuni) alla sequenza di file elencata in questo esempio: fai come preferisci. Puoi anche utilizzare max-age
per specificare la quantità di tempo in secondi durante la quale i tuoi file rimarranno nella cache.
8. Disabilitazione della memorizzazione nella cache per tipi di file particolari
Se non si desidera memorizzare nella cache determinati tipi di file, è più semplice non includerli nella sequenza della cache. Tuttavia, a volte i file potrebbero essere memorizzati nella cache anche se non li elenchi esplicitamente lì e, in questo caso, potresti voler disabilitare la memorizzazione nella cache solo per loro. Molto spesso, vorrai disabilitare la memorizzazione nella cache per i file dinamici, come gli script. Ecco come farlo:
Basta reindirizzare i file per i quali desideri disattivare la memorizzazione nella cache, e il gioco è fatto.
9. Bypassare il dialogo di download
Per impostazione predefinita, quando si tenta di scaricare un file da un server Web, viene visualizzata una finestra di dialogo che chiede se si desidera salvare il file o aprirlo. Questo dialogo è particolarmente irritante con file multimediali di grandi dimensioni o PDF. Se i file che hai caricato sul tuo server sono per il download, puoi risparmiare agli utenti il problema e procedere direttamente al download. Ecco cosa devi impostare in .htaccess
:
10. Rinominare un file .htaccess
Se per qualche motivo, principalmente legato alla sicurezza, vuoi rinominare il tuo file .htaccess
, è molto facile farlo. In teoria, rinominare un file .htaccess
non dovrebbe causare problemi con le applicazioni in esecuzione sul tuo server, ma se per caso noti tali problemi dopo aver rinominato il file, rinominalo con il nome originale.
Devi anche aggiornare tutte le voci nel file stesso o ovunque sia menzionato .htaccess
; altrimenti otterrai molti errori.
11. Modifica di una pagina indice predefinita
Se vuoi che la tua pagina di indice sia qualcosa di diverso da quella predefinita index.html
, index.php
, index.htm
, ecc. è molto facile da fare. Ecco cosa devi aggiungere a .htaccess
:
Sostituisci mypage.html
con l'URL effettivo della pagina che desideri utilizzare come indice e il gioco è fatto.
12. Reindirizzamento a una connessione https sicura
Se stai utilizzando HTTPS e desideri reindirizzare gli utenti alle pagine sicure del tuo sito, utilizza questo:
13. Limitazione dei limiti di caricamento dei file in PHP, dimensione massima dei dati dei post, tempo massimo di esecuzione dello script, ecc.
.htaccess
ti consente di impostare alcuni valori che influiscono direttamente sulle tue applicazioni PHP. Ad esempio, se vuoi imporre limiti di caricamento in PHP in modo da non esaurire lo spazio di hosting a causa di file di grandi dimensioni, usa questo:
Naturalmente, puoi impostare il valore su tutto ciò che ritieni appropriato: 15 M (MB) in questo esempio non sono fissati nella pietra. Puoi anche limitare la dimensione massima del post per il caricamento in PHP. Per farlo, aggiungi questo:
Allo stesso modo, puoi cambiare 10M
in qualsiasi valore che ti si addice. Se non vuoi che gli script vengano eseguiti per sempre, puoi limitarne il tempo di esecuzione con l'aiuto di quanto segue:
240
è il numero di secondi prima che lo script venga terminato e, come si può immaginare, potrebbe essere qualsiasi valore. Infine, se vuoi limitare il tempo in cui uno script può analizzare i dati di input, usa questo:
E imposta qualsiasi valore in secondi che ti si addice.
14. Mascherare i tipi di file
A volte, non vorresti che gli utenti conoscessero i tipi di file dei file sul tuo sito. Un modo per nascondere queste informazioni è nasconderle. Ad esempio, puoi far sembrare tutti i tuoi file come se fossero file HTML o PHP:
C'è molto di più che si può fare con .htaccess
. Ad esempio, puoi impostare la traduzione automatica delle pagine del tuo sito, o impostare il fuso orario del server, o rimuovere www dagli URL, o utilizzare elenchi di directory fantasiosi, ecc. In ogni caso, prima di iniziare gli esperimenti con .htaccess
, esegui sempre il backup dell'originale .htaccess
, quindi se le cose non vanno come previsto, hai una copia di lavoro su cui ripristinare.