Limitare l'accesso ad una cartella mediante autenticazione
In questo breve articolo vedremo come utilizzare Apache per limitare l'accesso ad una cartella ai soli utenti muniti di username e password.
Per raggiungere il nostro fine possiamo semplicemente fare ricorso al solito file .htaccess in combinazione con .htpasswd.
Per prima cosa impostiamo il contenuto del file .htaccess come segue:
AuthUserFile /home/siti/www.sito.com/privato/.htpasswd AuthName "Area Protetta" AuthType Basic Require valid-userE' molto importante specificare correttamente AuthUserFile con il path del file .htpasswd.
Ora vediamo come creare il file .htpasswd il cui contenuto dovrà avere la seguente sintassi:
utente1:password1_criptata utente2:password2_criptata utente3:password3_criptataPer creare il file .htpasswd possiamo seguire due strade:
1) se abbiamo accesso alla shell del nostro server effettuiamo il login sulla macchina e spostiamoci nella cartella in cui dovremo creare il file in questione:
cd /home/siti/www.sito.com/privato/e digitiamo:
htpasswd -c .htpasswd nome_utenteora il sistema ci chiederà la password da associare a questo utente, password che sarà successivamente necessario confermare.
Ed ecco fatto: il nostro sistema ha generato per noi il file .htpasswd!
2) qualora non si abbia accesso alla shell del server sarà necessario ricorrere ad un piccolo espediente.
In sostanza possiamo creare "a mano" il nostro file .htpasswd facendo ricorso ad uno dei tanti script e tool reperibili in Rete. Di seguito alcuni link:
- htpasswd Generator (Tool on-line)
- SimPHPle .htpasswd Generator (Tool on-line)
- HtpasswdGenerator.com (Software da scaricare)
Perchè tutto funzioni correttamente, ovviamente, è necessario che il file .htaccess si trovi nella stessa cartella che si desidera proteggere; non è invece necessario che nella stessa cartella si trovi .htpasswd (l'importante è che sia indicato correttamente il percorso per raggiungerlo).
Ora proviamo ad accedere mediante http alla cartella protetta; se tutto funziona correttamente il web-server dovrebbe restituirci un prompt di accesso in cui inserire user e password.







