Come proteggere le directory con htpasswd

Stampa E-mail

Sui server Apache possiamo proteggere una cartella con una password, limitando l'accesso alla directory riservata attraverso i file .htaccess e .htpasswd. E' un sistema molto sicuro che può essere usato per condividere file o informazioni con pochi amici, precludendo l'accesso a tutti gli altri.

Innanzitutto è necessario assicurarsi di avere un accesso ftp e i permessi per modificare i file .htaccess e .htpasswd. Si possono fare delle prove anche sul proprio pc, se si ha a disposizione un server - come Xampp, Easyphp, o Phpdev - installato in locale.

Ho sintetizzato molto l'argomento, ma in fondo ho indicato dei link a tutorial in italiano e in inglese. 

 

Creiamo prima il file .htaccess e carichiamolo nella root. Se esiste già, meglio fare un backup prima di procedere. Nel file .htaccess vanno inserite queste righe:

AuthUserFile /percorso/htdocs/dir-protetta/.htpasswd
AuthGroupFile /dev/null
AuthName "PROVA DIRECTORY PROTETTA"
AuthType Basic
<Limit GET>
require valid-user
</Limit>

Personalizziamo AuthUserFile indicando il percorso assouto del file .htpasswd (es.: /home/mhd/www.sito.it/htdocs/dir-protetta/.htpasswd o /web/htdocs/www.sito.it/home/dir-protetta/.htpasswd).
Il file .htpasswd può essere messo anche in una diversa cartella rispetto a quella da proteggere, anzi, per maggiore sicurezza, può essere sistemata in una directory superiore a quella pubblica. l'importante è specificare il percorso corretto nel file .htaccess

Accanto ad AuthName scriviamo la frase che apparirà nella richiesta di autorizzazione (comprese le virgolette).

Infine require valid-user è la linea che indica che solo gli utenti validi, cioè gli utenti cui è associata una valida password possono accedere. Questa riga può essere anche sostituita con i nomi di singoli utenti:

require user topolino
require user paperino
require user paperone

Compiute queste operazione occorre creare il file .htpasswd, in cui va scritta la lista dei i nomi degli utenti e delle password nel formato nome:password
La password va criptata, e per farlo possiamo usare 3 diversi metodi.

1 - Comandi via telnet/ssh

Se si ha a disposizione un accesso via ssh, dopo essere entrati nella directory con cd /percorso/htdocs/dir-protetta

(naturalmente dopo cd occorre specificare il percorso esatto)
eseguiamo il comando

htpasswd –c /percorso/htdocs/dir-protetta/.htpasswd nomeutente1 

dove, -c serve a indicare che stiamo creando un nuovo utente, e il resto serve a specificare il percorso del file e il nome del nuovo utente. Infine ci sarà chiesto di scrivere per due volte la password del nuovo utente creato.

A questo punto se andiamo a guardare in /percorso/htdocs/dir-protetta/, vedremo che è stato creato un file .htpasswd con una riga in cui c'è scritto nomeutente1: AJjrDSdfd, o qualcosa di simile.

Una volta terminato con il primo utente, per crearne altri non dovremo più scrivere -c. Es:

htpasswd /percorso/htdocs/dir-protetta/.htpasswd nomeutente2

Queste operazioni faranno in modo che la directory /dir-protetta sia accessibile ai soli nomeutente1 e nomeutente2, se, quando è loro richiesta la password, inseriranno quella corretta.

2 - Installazione di uno script cgi

In mancanza di accesso telnet, si può ovviare installando uno script cgi. Alcuni sono:

 3 - Tool di encryption online

La strada più semplice per generare le password criptate - ma meno conveniente nel caso le modifiche agli utenti siano frequenti - è quella di usare dei tool online, come


Scegliendo questa soluzione, per modificare un utente o autorizzarne un nuovo utente, dopo avere generato la password tramite il tool, bisognerà aggiornare il file .htpassword a mano.
Cioè occorrerà scrivere, uno per ogni riga, i nomi e le pass nel formato nomeutente1: AJjrDSdfd
E' possibile che sui alcuni server l'algoritmo per criptare le password sia diverso da quello del tool, quindi il sistema potrebbe non funzionare.

Alcuni esempi di accoppiate nome:password

Qualche esempio da inserire nel file .htpasswd per eventuali prove:

topolino:yu.f449M3WezE (pass. minnie)
paperino:Wcqp9v5AVnwvo (pass. paperina)
paperone:YoKUjXJQbvB3w (pass. nonnapapera)

Altre risorse 


 

Ultimo aggiornamento ( martedė 29 agosto 2006 )

Home arrow Il file htaccess arrow Come proteggere le directory con htpasswd

 I Feed RSS di miniDesign

In evidenza
Il file htaccess
Tutorial mappa Google
Ultime notizie
Le pių lette
Ricerca rapida