Apache: autenticazione di base con .htaccess

6 aprile 2010

Chiunque realizzi per diletto o per lavoro siti web presto o tardi si troverà di fronte al problema di non rendere pubblicamente disponibili alcuni contenuti, ovvero creare una cosiddetta area riservata.

La soluzione più completa e flessibile consiste nell’implementare il meccanismo di autenticazione ed autorizzazione ricorrendo ad un linguaggio di programmazione lato server. Non sempre però questo approccio risulta sufficientemente rapido o adatto al particolare frangente. Per fortuna il Web Server Apache, grazie ai numerosi moduli di cui è dotato, ci consente di risolvere in maniera relativamente semplice il problema. Con quest’articolo iniziamo una panoramica dei principali metodi per limitare l’accesso al nostro sito o a parte di esso.

Prima di entrare nel vivo una premessa: spesso, in ambito Apache, viene fatta l’equazione “richiesta di autenticazione” = “.htaccess”. In realtà la funzione di questo file è molto più ampia, anche se nella maggior parte dei casi viene utilizzato per proteggere una directory. Molte direttive di Apache, oltre che nel file di configurazione principale, possono essere inserite in un semplice file di testo memorizzato in una particolare posizione del nostro sito. In questo caso si parla di configurazione per-directory. Quando viene fatta una richiesta per una risorsa collocata dove risiede un file denominato .htaccess (o in una sottodirectory), Apache per prima cosa lo legge ed agisce di conseguenza.

Attenzione: le istruzioni utilizzabili sono definite dalla direttiva AllowOverride nel file di configurazione principale. Se l’override è valorizzato a None le impostazioni per-directory verranno ignorate. Infine è bene menzionare la possibilità di modificare il nome predefinito, .htaccess, agendo sulla direttiva AccessFilename.

Mod_auth_basic e l’autenticazione di base HTTP

Il metodo più agevole per proteggere i contenuti di un sito consiste nell’autenticazione di base HTTP. Apache 2.2 la gestisce tramite il modulo mod_auth_basic, memorizzando ad esempio nomi utente, password e gruppi in file di testo.

I principali vantaggi sono la semplicità ed il largo supporto da parte dei browser web. Il grosso svantaggio consiste nella trasmissione delle credenziali in chiaro. La codifica di username e password in Base64 serve solo a garantire la corretta comunicazione di caratteri non HTTP compatibili, infatti possono essere facilmente decodificati. Questo approccio, per sua natura, deve limitarsi a proteggere informazioni non certo segretissime, a meno che non rendiamo sicura la connessione tra client e server ad esempio con il protocollo SSL/TLS.

Se vuoi aggiornamenti su Apache: autenticazione di base con .htaccess inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Apache: autenticazione di base con .htaccess

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy