htaccess
Proteggere il proprio webserver e redirect tramite .htaccess
Andiamo ad analizzare delle tecniche essenziali per proteggere il nostro webserver da attacchi
estranei così come i più comuni metodi di redirect utilizzando il file .htaccess. Vi ricordo inoltre che
per poter creare un file .htaccess dovrete disporre di un editor di testo non proprio “basilare” (ad
esempio Notepad++) o utilizzare un generatore tipo http://www.htaccessredirect.net/index.php.
Questo articolo nasce come traduzione dell’articolo “17 Useful Htaccess Tricks and Tips” di kevin.
Generali
Molte volte quando usi la funzione date o mktime in php, ti viene mostrato un messaggio simpatico
riguardante il fuso orario. Questo è l’unico metodo per risolverlo: settare il fuso orario per il tuo
server. Una lista dei fusi supportati può essere trovata qui.
SetEnv TZ Australia/Melbourne
Che cosa significa SEO Friendly? Attualmente alcuni motori di ricerca hanno la capacità di
individuare un redirect 301 e di aggiornare i loro record esistenti
Solitamente quando cerchi di scaricare qualcosa da un web server, ti viene richiesto di decidere se
aprire il file o salvarlo. Puoi impedire che ciò accada utilizzando il codice seguente nel tuo file
.htaccess.
4. Skippare il www
Una delle linee guida per un SEO è quella di fare in modo che ci sia un unico tipo di indirizzo che
punti al proprio sito web. Di conseguenza occorrerà fare in modo che tutto il traffico proveniente
tramite www venga ridirezionato all’indirizzo privo di www o viceversa.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.queness.com [NC]
RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301]
6. Comprimere i files
Ottimizza i tempi di caricamento del tuo sito comprimendo i files in modo da ridurne le dimensioni.
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
D’altra parte è possibile fare in modo che alcuni files che si aggiornano di frequente non vengano
memorizzati.
Sicurezza
I seguenti codici htaccess ti permettono di aumentare il livello di sicurezza del tuo webserver. La
protezione dagli hotlink (link diretti) è un buon sistema per evitare ad altra gente di utilizzare
immagini memorizzate nel tuo server.
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
Se vuoi aumentare il livello di sicurezza del tuo sito, puoi utilizzare queste righe per prevenire
alcune tecniche comuni di hacking individuando modelli di URL maligni.
RewriteEngine On
# proc/self/environ? no!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
#Blocca ogni script che cerca di settare un valore mosConfig attraverso l'URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Blocca ogni script che cerca di settare una variabile globale PHP via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
# Blocca ogni script che cerca di modificare una variabile a _REQUEST via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
Il codice seguente impedisce l’accesso ad utenti esterni al tuo file .htaccess. Può essere utilizzato
anche per altri tipi di files.
AccessFileName htacc.ess
Impedisci o consenti al server di mostrare l’indice dei files presenti nelle cartelle del tuo server web.
Puoi cambiare la pagina di apertura del sito da index.html, index.php ecc… con qualsiasi altro
nome.
DirectoryIndex business.html
</ifModule>
Questo metodo può salvare una buona quantità di banda bloccando alcuni bot o spiders in modo che
non passino sul tuo sito.