Usare .htaccess per limitare l'accesso a cartelle e file
In talune circostanze può essere necessario limitare l'accesso ad una o più cartelle del nostro sito.
Per farlo possiamo utilizzare degli script lato server oppure agire direttamente utilizzando gli strumenti messi a disposizione da Apache per la gestione dei permessi di accesso.
Per gestire tali limitazioni di accesso possiamo editare il file conf/access.conf oppure intervenire sulle singole cartelle mediante il file .htaccess (il quale, come sappiamo, opererà unicamente verso la cartella in cui esso è contenuto).
Vediamo un esempio di file .htaccess per la limitazione degli accessi alla cartella:
<limit GET POST> order deny, allow deny from all allow from .dominio1.com allow from .dominio2.com allow from 123.123.123.123 <limit>Lo scopo del codice qui sopra è limitare l'accesso a tutte le chiamate GET e POST (deny from all) tranne quelle dei domini (dominio1.com, dominio2.com) e dell'IP (123.123.123.123) esplicitamente indicati.
Ma vediamo di capire, nel dettaglio, cosa abbiamo fatto:
- Abbiamo impostato la direttiva limit per tutte le chiamate GET e POST;
- abbiamo definito l'ordine (order deny, allow) di inserimento delle nostre istruzioni: prima deny e poi allow
- abbiamo negato l'accesso a tutti (deny from all) tranne...
- ... gli hostname e gli IP indicati con allow from ...;
Volendo è possibile agire, oltre che su intere cartelle, anche su singoli file o gruppi di file (ad esempio tutti i file con una data estensione). Ad esempio:
<FilesMatch \.(inc|conf)> order allow, deny deny from all </FilesMatch>Il codice qui sopra impedisce a chiunque (deny from all) l'accesso a file che finiscono con .inc o .conf (estensioni tipiche dei file di configurazione).







