libri-javascript-python

htaccess directory – In questa lezione vedremo come limitare o consentire l’accesso solo ad alcune directory, sotto-directory, ad un singolo file o ad un gruppo di file.

Nella scorsa lezione abbiamo utilizzato le direttive limit, order, deny, allow per limitare o permettere l’accesso ad un sito web da parte di alcuni domini o indirizzi ip.

Adesso utilizzeremo ancora queste direttive per limitare gli accessi ai contenuti del nostro sito web, tramite il file htaccess.

htaccess directory – Bloccare l’accesso ad una directory

Per limitare l’accesso alla directory con htaccess utilizzo il blocco <directory> e all’interno inserisco le specifiche da seguire.

Facciamo dunque un semplice esempio:

<Directory /nome-cartella/*>
   Order deny,allow
   Deny from all
</Directory>

Chiaramente sostituite nome-cartella con il nome della vostra cartella.

Con questo codice sto definendo innanzitutto l’ordine di inserimento delle nostre istruzioni: prima deny e poi allow. Poi blocco l’accesso a tutto il contenuto della cartella, l’asterisco infatti estende il blocco a tutti i file e alle sotto-cartelle.

Quindi ad esempio se digito www.nome-sito.it/nome-cartella i contenuti all’interno della cartella non sono visibili a nessuno.


Bloccare l’accesso ad un file

Possiamo decidere anche di bloccare un solo file all’interno di una cartella. Ad esempio posso proteggere un ipotetico file password.php che contiene informazioni riservate. Per fare ciò utilizzo il blocco <Files>.

<Files password.php>
   Order deny,allow
   Deny from all
</Files>

Il codice sopra impedisce a tutti di accedere al file password.php e di leggerne o scaricarne il contenuto.

Bloccare l’accesso ad alcuni tipi di file

Posso anche bloccare una serie di file. Ad esempio decido di bloccare i file che hanno estensione pdf, ico o mp4. Per fare questo devo utilizzare il blocco <FilesMatch>.

<FilesMatch \.(ico|pdf|mp4)>
   Order deny,allow
   Deny from all
</FilesMatch>

Il codice qui sopra impedisce a chiunque, (Deny from all) l’accesso ai file che finiscono con .ico oppure .pdf oppure .mp4.

Chiaramente anche qui potete modificare le estensioni in base alle vostre esigenze.

Infatti un classico utilizzo è nel limitare gli accessi ai file con estensione .inc oppure .conf, cioè le estensioni dei file di configurazione.

Inoltre posso anche aggiungere chi invece può accedere ai file.

<FilesMatch \.(inc|.conf)>
   Order allow,deny
   Deny from all
   Allow from 123.123.123.123
</FilesMatch>

Chiaramente cambiate l’indirizzo IP con quello desiderato.

Ma attenzione se non si ha un indirizzo IP statico non ha senso adottare questa soluzione.

Si può in tal caso ricorrere alla sintassi CIDR indicando ad esempio:

 Allow from 123.123.123.0/16

oppure:

 Allow from 123.123.0/16

In modo da raggruppare un intervallo di indirizzi.


Alcuni link utili

Indice tutorial JavaScript

Tutorial HTML 5

Tutorial CSS 3