Unnikked - Esperienze personali in campo informatico

Come proteggere tramite password una cartella attraverso .htaccess

Quello che andremo a vedere in questo breve articolo è una tecnica che ci consentirà di proteggere con password una cartella tramite una funzionalità nativa di Apache utilizzando il file .htaccess.

Per proteggere una cartella con una password basta inserire il seguente codice in un file .htaccess e inserirlo nella cartella da bloccare.

AuthType Basic
AuthName "Area riservata"
AuthUserFile /percorso/al/file/.htpasswd
require valid-user

Le direttive AuthName e AuthUserFile specificano rispettivamente il nome da mostrare nel dialogo di accesso e il percorso del file .htpasswd in cui verranno elencati gli utenti, con le rispettive password, abilitati all’area.

Per generare le password è possibile utilizzare qualsiasi strumento ad-hoc che si può reperire online oppure generarlo tramite il comando htpasswd da linea di comando:

htpasswd -c /percorso/al/file/.htpasswd unnikked

Verrà chiesto di inserire la password per l’utente specificato. E’ importante sottolineare che il percorso per il file .htpasswd deve essere assoluto (e può avere qualsiasi nome fintantoché è specificato correttamente nel file .htaccess) e che è possibile collocare tale file in qualsiasi cartella del filesystem (ovviamente impostando opportunamente i permessi).

htaccess-login-dialog

Ovviamente è possibile aggiungere ulteriori utenti al file .htaccess, è necessario ripetere il comando sopra esposto e specificare un nuovo nome utente.

Accoppiare questo metodo basilare di autenticazione con l’uso di un certificato SSL self-signed oppure rilasciato da una Certification Authorithy si renderà il processo di autenticazione più sicuro.

Tale espediente può essere utilizzato sia su server VPS o su hosting condiviso che supporti tale funzionalità di Apache.