htaccess – far vedere ad un navigatore del web un elenco di file

Spesso abbiamo la necessità di far vedere l’elenco dei file contenuti in una directory in modo che un utente possa scaricarli semplicemente con un click. Per farlo basta mettere tutti i file in una directory e non inserirne nessuno con nome index.html o index.htm.

Quando un browser chiama un indirizzo di una directory, se in questa directory non è presente un file .htaccess opportunamente configurato, ci sono due possibili comportamenti da parte del server:

  • Index Page: il Web Server restituisce una pagina di default della directory che tipicamente si chiama index.html o index.htm.
  • Directory Listing: se non è presente nessuna pagina che si chiami index.html o index.htm, il webserver restituisce l’elenco dei file presenti in quella directory in una pagina generata automaticamente.

Bisogna far attenzione al fatto che mostrare l’elenco dei file contenuti in una directory può essere considerato un buco di sicurezza; soprattutto qualora questi contengano informazioni che non si vogliono rendere pubbliche. Se invece si decide volontariamente di pubblicare o condividere un insieme di file, allora questo comportamento di default del Web Server rappresenta lo strumento giusto. Se i file cambiano spesso, ecco che l’uso del Directory Indexing diventa una vera e propria necessità.

Se, ad esempio, vuoi distribuire ai tuoi agenti dei listini di prodotti che cambiano frequentemente, allora il metodo più semplice è quello di metterli in una directory priva di file di indice (index.html o index.htm), in questo modo puoi usare tutte le potenzialità del Directory Indexing.

E’ possibile disabilitare completamente questa caratteristica del server in modo da evitare che le proprie pagine siano viste accidentalmente a causa della mancanza di un file di indice.

Per evitare che il Directory Indexing entri in funzione si deve inserire nella directory un file .htaccess che deve contenere la seguente linea:

Options -Indexes