Il file .htaccess
Per prima cosa impostiamo il contenuto del file .htaccess come segue:
AuthName "Area Protetta"
AuthType Basic
AuthUserFile /home/siti/www.sito.com/privato/.htpasswd
Require valid-user
Come potete vedere nel nostro file .htaccess abbiamo specificato quattro direttive, vediamole nel dettaglio:
- AuthName: questa direttiva è utilizzata per specificare un nome alla nostra area riservata (possiamo, ovviamente, assegnare il nome che riteniamo più adatto al nostro scopo);
- AuthType: serve ad indicare il tipo di autenticazione (esistono diversi tipi di autenticazione in Apache, tuttavia nel nostro caso il valore Basic risulta essere assolutamente idoneo);
- AuthUserFile: attraverso questa direttiva dobbiamo specificare il percorso completo (path) del file .htpasswd che andremo ad analizzare in seguito (attenzione: non potete utilizzare percorsi relativi ma dovete sempre specificare il percorso assoluto!);
- Require: è possibile specificare quale utente o gruppo è legittimato a visualizzare i contenuti protetti; nel nostro caso abbiamo specificato valid-user, cioè qualsiasi utente tra quelli indicati nel file .htpasswd;
Una volta creato o modificato il nostro file .htaccess dovremo semplicemente salvarlo all'interno della cartella che desideriamo proteggere da occhi indiscreti. E' evidente che se inseriamo il nostro file .htaccess nella root del sito... ad essere protetto sarà l'intero sito web!
Il file .htpasswd
Il file .htpasswd deve trovarsi esattamente nel punto indicato nella direttiva AuthUserFile del file .htaccess. All'interno di questo file vengono specificati gli utenti (e le relative password) legittimati a visualizzare i contenuti protetti. Questa la sintassi di questo file:
utente1:password1_criptata
utente2:password2_criptata
utente3:password3_criptata
Per 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_utente
ora 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!
Se abbiamo già creato in precedenza un file .htpasswd e vogliamo semplicemente aggiungere un utente dobbiamo digitare:
htpasswd .htpasswd nome_utente
Anche in questo caso ci verrà richiesta la password da assegnare la nuovo utente. Dopo averla confermata il file .htpasswd si aggiornerà con la nuova utenza.
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. Tra questi segnalo il nostro tool per la creazione del file .htpasswdpresente all'interno della collezione di Toolset.it
Una volta generato il file non resterà che salvarlo ed uploadarlo nella nostra cartella web mediante un comune client FTP.
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, come già detto, è che sia indicato correttamente il percorso per raggiungerlo.
