Ricerca nel sito web

Disabilita l'elenco delle directory Web Apache utilizzando il file .htaccess


Proteggere il tuo server web Apache è uno dei compiti più importanti, specialmente quando crei un nuovo sito web.

Ad esempio, se crei una nuova directory del sito web chiamata “tecmint” sul tuo server Apache (/var/www/tecmint o /var/www/html/ tecmint) e hai dimenticato di inserirvi un file "index.html", potresti sorprenderti di sapere che tutti i visitatori del tuo sito web possono ottenere semplicemente un elenco completo di tutti i tuoi file e cartelle importanti digitando http://www.example.com/tecmint nel browser.

In questo articolo ti mostreremo come disabilitare o impedire l'elenco delle directory del tuo server web Apache utilizzando il file .htaccess.

Ecco come verrà mostrato ai tuoi visitatori l'elenco delle directory quando index.html non è presente al suo interno.

Per cominciare, .htaccess (o accesso ipertestuale) è un file che consente al proprietario di un sito web di controllare le variabili dell'ambiente del server così come altre opzioni vitali per migliorare la funzionalità del suo i suoi siti web).

Per ulteriori informazioni su questo importante file, leggi i seguenti articoli per proteggere il tuo server web Apache utilizzando il metodo .htaccess:

  1. 25 trucchi Apache Htaccess per proteggere il server Web Apache
  2. Proteggi con password le directory Web Apache utilizzando il file .htaccess

Utilizzando questo semplice metodo, il file .htaccess viene creato in qualsiasi e/o ogni directory nell'albero delle directory del sito Web e fornisce funzionalità alla directory principale, alle sottodirectory e ai file al loro interno.

Prima di tutto, attiva il file .htaccess per il tuo sito web nel file di configurazione principale di Apache.

sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems

Quindi cerca la sezione seguente, dove il valore della direttiva AllowOverride deve essere impostato su AllowOverride All.

<Directory /var/www/html/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

Tuttavia, se disponi di un file .htaccess esistente, eseguine un backup come segue; supponendo che tu lo abbia in /var/www/html/tecmint/( e desideri disabilitare l'elenco di questa directory):

sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

Quindi puoi aprirlo (o crearlo) nella directory specifica per la modifica utilizzando il tuo editor preferito e aggiungere la riga seguente per disattivare l'elenco delle directory Apache:

Options -Indexes 

Quindi riavvia il server web Apache:

-------- On SystemD based systems -------- 
sudo systemctl restart apache2
sudo systemctl restart httpd

-------- On SysVInit based systems -------- 
sudo /etc/init.d/apache2 restart 
sudo /etc/init.d/httpd restart

Ora verifica il risultato digitando http://www.example.com/tecmint nel browser, dovresti ottenere un messaggio simile al seguente.

È tutto! In questo articolo, abbiamo descritto come disabilitare l'elenco delle directory nel server web Apache utilizzando il file .htaccess. Tratteremo anche altri due metodi utili e semplici per lo stesso scopo nei prossimi articoli. Fino ad allora, restate connessi.

Come al solito, utilizza il modulo di feedback qui sotto per inviarci le tue opinioni su questo tutorial.