|
A
questo punto tutto è pronto per l'utilizzo dei fatidici SSI.
Un SSI è sostanzialmente un comando inserito in una normale
pagina HTML che ha l'aspetto di un commento. Se la pagina che
contiene direttive SSI non viene gestita dal server (perché
non ha l'estensione giusta per esempio) viene inviata così
com'è al browser. In questo modo se si legge la pagina con un
browser, questa risulta corretta in quanto le direttive SSI vengono
ignorate: per il browser sono solo dei commenti. Per il server
istruito alla loro esecuzione, sono invece comandi che vengono
eseguiti. Il primo e più importante comando SSI ha la forma:
<!--#include virtual="head.inc.shtml" -->
Notare il # che caratterizza tutti i comandi SSI. Questo comando
esegue l'inclusione di un intero file. Notare che il file può
essere specificato in due modi. Uno è indicato con il path
fisico sul file system, come "/usr/local/etc/www/head.shtml".
In questo modo è possibile inserire in una pagina file che non
sono altrimenti direttamente accessibili dal Web Server. Un altro
modo (e più usato) è quello di specificare i file da
includere utilizzando lo stesso path che utilizza il browser per
accedere ai file. Come è noto, i file che vengono serviti dal
Web Server non sono indicati con il loro path per intero ma piuttosto
con una abbreviazione che dipende da come è configurato il
server. Per esempio il file fisico "/home/httpd/html/doc/first.html"
può essere accessibile semplicemente
come "/doc/first.html".
In questo senso si dice che il secondo è il path
virtuale (dal punto di vista del Web Server) del file. Il
comando #include (e altri, che specificano file) consentono di
utilizzare il path virtuale del file al posto di quello fisico,
specificandolo con l'attributo virtual.
L'inclusione di testo non è
limitata solamente a file presenti sul disco ma è possibile
includere anche l'output di comandi. Per esempio, per generare un
elenco di file con estensione .shtml presenti sul server si può
usare un comando come
<!--#exec cmd="ls /home/httpd/html/*.shtml" -->
In
realtà si possono eseguire anche comandi più
sofisticati, eseguendo perfino interrogazioni a database o
quant'altro. Ricordiamo però che per utilizzare questo SSI,
che è potenzialmente molto pericoloso per la sicurezza di un
provider , è necessario che venga autorizzato esplicitamente.
|