Apache ha la possibilità di filtrare le richieste provenienti dai client e di soddisfare soltanto quelle trasmesse da utenti eventualmente autorizzati alla fruizione delle risorse contenute nel server Web.
L’opera di filtraggio viene eseguita attraverso differenti procedure basate su particolari fasi di controllo; in generale vi sono due modi attraverso i quali il Web server autorizza o meno la soddisfazione delle richieste: nel primo caso, tramite il modulo “mod_access”, confronta l’indirizzo IP del client in attesa di risposta con l’elenco di quelli che hanno l’autorizzazione all’accesso; nel secondo caso, Apache non permetterà la soddisfazione della richiesta fino a quando il client non sarà in grado di autenticarsi tramite la comunicazione di un nome_utente e di una parola_chiave validi per il dominio di riferimento.
I comportamenti di “mod_access” possono essere configurati sulla base delle intenzioni dell’amministratore indicando i dati necessari all’autenticazione come l’indirizzo IP e il nome di Host; si hanno poi tre direttive dal significato abbastanza intuitivo che regolano le impostazioni di questo modulo:
- Allow: autorizza la soddisfazione delle richieste se il client rispetta i criteri prestabiliti per l’accesso alle risorse.
- Deny: ha funzione contraria rispetto ad allow e
- Order: rappresenta una direttiva complementare rispetto ad allow e deny, la sua funzione è quella di stabilire in che ordine queste due istruzioni dovranno essere osservate.
allow from lukeonweb.net
viene autorizzato l’accesso all’Host indicato.
L’uso di Order risulta abbastanza semplice è và scelto di volta in volta a seconda delle esigenze; in questo esempio:
order deny,allow
deny from all
allow from chasky.com
la direttiva dany ha precedenza su allow (“order deny,allow”) e nessun Host ha la possibilità di accedere (“deny from all”) tranne quello autorizzato (“allow from chasky.com”) .Il filtraggio degli accessi può essere operato anche specificando l’indirizzo o gli indirizzi IP che si desidera siano autorizzati ad accedere alle risorse:
<Directory />
order deny,allow
deny from all
allow from 127.0.0.1
</Directory>
Nell’esempio appena proposto, abbiamo autorizzato unicamente l’IP corrispondente al “localhost”, tutti gli altri IP non avranno la possibilità di veder soddisfatte le loro richieste.