Programmazione Web » Apache » Limitare l'accesso ad una cartella con Apache
Limitare l'accesso ad una cartella con Apache
Difficoltà:
Scritto da Alberto Giuliani
Sito Web: http://www.agwebsolutions.it ![]()
Questo tutorial è stato letto 773 volte
In questo tutorial vedremo come creare un'area riservata tramite l'utilizzo di Apache. Questo metodo di protezione dei contenuti è sicuramente uno tra i più efficaci.
Spesso capita di aver bisogno di delimitare l'accesso a determinate cartelle del nostro sito; l'esempio più classico è nel caso in cui vi sia un'area di amministrazione del sito con diversi documenti e sottocartelle che desideriamo proteggere da eventuali visitatori non autorizzati a visionarne il contenuto.
Partiamo quindi da un esempio, per poi generalizzare la procedura da seguire. Supponiamo di avere un sito "www.miosito.com", e una cartella "DOC", tale che l'URL di questa sia "www.miosito.com/DOC". Ipotizziamo quindi di voler limitare l'accesso a tale cartella ai cosidetti visitatori, e di consentirlo a determinati utenti, che si identifichino tramite username e password.
Il procedimento prevede la creazione di due file, ".htaccess" e ".htpasswd".
Creazione di ".htaccess"
Con un editor testuale salviamo un file come ".htaccess" con il seguente codice:
AuthType Basic
AuthUserFile /home/httpd/miosito.com/DOC/.htpasswd
AuthName "Area riservata"
require valid-user
Commentiamo ora le singole righe e cerchiamo di generalizzare.
AuthUserFile /home/httpd/miosito.com/DOC/.htpasswd
indica il percorso del file ".htpasswd" da cui trarre i dati di accesso degli utenti.
AuthName "Area riservata"
indica il nome dell'area riservata. Esso è un parametro generico e arbitrario. Per intenderci, tale nome comparirà nella finestra di LOGIN come titolo del modulo di accesso.
Possiamo quindi generalizzare il codice in questo modo:
AuthType Basic
AuthUserFile /home/httpd/dominio.com/cartella_da_proteggere/.htpasswd
AuthName "Nome arbitrario dell'area riservata"
require valid-user
Creazione di ".htpasswd"
Con un editor testuale salviamo un file come ".htpasswd", che conterrà i dati di accesso. La sintassi di tale file è molto semplice:
admin:fantasia
utente1:amleto
utente2:utopia
Abbiamo garantito l'accesso agli utenti:
- "admin", con password "fantasia";
- "utente1", con password "amleto";
- "utente2", con password "utopia";
Di conseguenza, la sintassi generica di questo file sarà:
username:password
...
Una piccola complicazione...
Come da titolo, sorge a questo punto un piccolo inconveniente pratico. Le password dei vari utenti vanno inserite criptate.
A tal proposito, mi permetto di segnalare http://www.xs4all.nl/~remcovz/htpasswd.html che permette di ottenere il relativo codice criptato delle nostre password.

