Un file .htaccess è un semplice file ASCII, può essere facilmente creato con un editor di testo come Notepad++ o SimpleText. Lo scopo di un semplice file come .htaccess è fornire istruzioni lato server (Apache) per ottenere particolari impostazioni, come ad esempio: documenti di errore, protezione con password, abilitazione SSL via htaccess, blocco IP e siti referenti, blocco bots, redirects, impedire la visualizzazione di htaccess, impedire il linking di immagini, limitare l’uso di directory.
Le istruzioni di htaccess vengono applicate solo alla directory di appartenenza con relative sotto-directory, in questo modo le varie impostazioni possono non influire ad esempio in un inteo server. Molti hoster consentono a tale scopo l’impostazione di un proprio .htaccess anche perchè per alcuni CMS è praticamente indispensabile l’uso e il corretto funzionamento.
Come si crea un file .htaccess?
Se il server lo consente è possibile creare un proprio file .htaccess con un editor di testo come Notepad++, il file dovrà essere rinominato successivamente in .htaccess, si avete capito bene deve essere aggiunto un punto (.) al nome del file, e deve essere eliminata l’eventuale estensione creata in automatico dall’editor come ad esempio htaccess.txt, in definitiva il file dovrà essere precisamente .htaccess ! Il file creato deve essere caricato in modalità ASCII, prestate attenzione a non utilizzare la modalità binaria.
Le impostazioni sono visibili nelle proprietà del vostro client FTP come ad esempio Filezilla. Potrebbe inoltre essere necessario impostare CHMOD 644 o (RW-R–R–). Ciò rende il file utilizzabile dal server, ma impedisce che venga letto da un browser, potrebbe seriamente compromettere la sicurezza. (Ad esempio, se avete la password directory protette, se un browser in grado di leggere il file htaccess, allora possono ottenere la posizione del file di autenticazione e poi decodificare la lista per ottenere l’accesso completo a qualsiasi porzione che in precedenza aveva protetto.
Campi di applicazione: errori personalizzati, protezione con password, abilitazione SSL via htaccess, blocco IP e siti referenti, blocco bots, redirects, impedire la visualizzazione di htaccess, impedire il linking di immagini, limitare l’uso di directory
Errori personalizzati
Probabilmente si vorrà creare un errore per i codici di errore 404 e 500, i codici rappresentano le pagine non trovate e errore server. Si può anche prendere in considerazione anche 401 – Autorizzazione richiesta (si verifica quando qualcuno tenta di entrare in un’area protetta del sito senza le giuste credenziali), 403 – Accesso negato (si verifica quando non si dispone di permessi ad un singolo file) e 400 – Bad Request, che è uno degli errori generici dove vengono eseguiti accessi al vostro URL tramite script.
Al fine di specificare i propri errori personalizzati, basta aggiungere il seguente comando, su un’unica riga , all’interno del file htaccess:
Codice: Seleziona tutto
ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html
Protezione con password
Ci sono numerosi metodi per proteggere l’accesso con password, un linguaggio basato su server (come ASP, PHP o Perl) e lato client based, come ad esempio JavaScript. JavaScript non è così sicuro o infallibile come server-side. Htaccess è molto più sicuro, anche se in informatica “nulla è sicuro”. La prima cosa che dovrete fare è creare un file chiamato .htpasswd . Lo so, potreste avere problemi con la convenzione di denominazione, ma è la stessa idea dietro il nome del file htaccess stesso, e si dovrebbe essere in grado di farlo da questo punto. Nel file htpasswd, è possibile inserire il nome utente e password (che è criptato) per coloro che si desidera avere accesso.
Ad esempio, un username e password di wsabstract (e io non consiglio avendo il nome utente è la stessa password), il file htpasswd sarebbe simile a questa:
Codice: Seleziona tutto
wsabstract: y4E65rd8e7EYV
Per motivi di sicurezza, non si deve caricare il file htpasswd in una directory che è accessibile dal web (yoursite.com / .htpasswd), deve essere collocato al di sopra la directory root www. Inoltre, questo file, come con htaccess, deve essere caricato come ASCII e non in modalità BINARIA.
Creare un nuovo file htaccess e inserire il codice riportato di seguito in essa:
Codice: Seleziona tutto
AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require user wsabstract
La penultima riga richiedere all’utente dove devi inserire il nome utente di chi si desidera avere accesso a quella parte del tuo sito. Si noti che utilizzando questo permetterà soltanto specifico utente di poter accedere alle directory. Se l’obiettivo è un intero elenco utenti di avere accesso a tale directory, si dovrebbe sostituire Require user xxx con require valid-user. Il AuthName è il nome dell’area che si desidera accedere.
Ulteriori campi di applicazione saranno pubblicati in Guida pratica .htaccess, risorse e campi d’azione seconda parte, di prossima pubblicazione.
Nota importante, questa è la prima parte di una guida pubblicata sul mio blog, è possibile condividerla o pubblicarla su altri siti, a patto che sia pubblicata la fonte.