INDIETRO SU AVANTI

Limitazioni d'accesso alle pagine

La spiegazione seguente contiene esempi specifici tratti dai Web server NCSA/Apache. Altri server possono avere utilities alternative e/o di configurazione differente.

Il file di configurazione degli accessi, conf/access.conf, impone policies di accesso a livello directory dell'albero dei documenti serviti.

Vi possono essere poi files di controllo fine a livello di ciascuna directory che raffinano le policies generali senza dover far ripartire il server. Solitamente i nome di tali file e' .htaccess.

Le direttive di limitazione in conf/access.conf sono contenute in paragrafi delimitati dai tag <directory> </directory>. Nei file .htaccess non vi sono tali tag in quanto le direttive si riferiscono alla directory corrente.

Limitazioni sulla base di Indirizzi IP

Sia dato questo esempio di sezione di conf/access.conf:

<directory /local/private>

<limit GET>
order deny, allow
deny from all
allow from .aleph.com
allow from .zorkil.com
allow from 168.29.45.66 168.29.45.72
<limit>

<directory>

La direttiva di tag:

<limit metodo1 metodo2 ... >

e terminata da <limit>, contiene le direttive di limitazione accesso. I metodi possono essere GET, POST, PUT e HEAD.

La direttiva order specifica come in che ordine debbano essere valutate le direttive seguenti. Argomenti ammessi nella lista sono:

Le direttive allow from e deny from sono seguite o dalla parola chiave all (tutti) o dall'indirizzo IP numerico di una macchina, o dal nome della macchina, o da parte del suo indirizzo di dominio. Nell'ultimo caso la regola si applica a tutte le macchine appartenenti a quel dominio. Vi puo' essere una lista di elementi simili separati da spazi.

Limitazione a Utenti Autorizzati

Questo metodo e' basato su files di configurazione di password utenti e di gruppi d'utenti.

Per preparare un file di password si usa l'utility htpasswd fornita insieme al server. La sintassi e':

httpd [-c] file_password utente

ove file_password e' il nome del file contenente le password e utente e' il nome dell'utente per cui si vuole generare o cambiare una password. L'opzione -c permette di creare un nuovo file di password.

Il contenuto di un file di password puo' esser come segue:

fred:NCI.PQ5Mly51E
john:6R1uJeNpTzrv6
mary:2huFGthJKLz9D

Il file di gruppi si prepara con un editor normale. Un tale file puo' essere:

local: fred john
users: fred mary john
admin: mary

La locazione tipica di questi files e' nella directory conf del server HTTPD.

La limitazione di controllo d'accesso si compie con una sezione di controllo directory nel file access.conf oppure inserendo un file .htaccess nell directory specifica da limitare. Il contenuto e' lo stesso, per esempi:

<Directory /local/members>
AuthName	Members Only
AuthType	Basic
AuthUserFile	/usr/local/etc/httpd/conf/passwd
AuthGroupFile	/usr/local/etc/httpd/conf/group

<linit GET>
deny from all
allow from .acme.com
require user john
require group admin
</limit>
</Directory>

Le parole chiave sono:

La direttiva require puo' acere i seguenti argomenti:

In ogni caso la finestra di popup di un browser grafico richiede un nome utente e corrispondente password prima di fornire l'accesso alla directory specificata.