LeoBenelli
Personal WebPage


SCRIPT CGI

 

Il server Web oltre a servire pagine statiche puo' anche fare da interprete per Script CGI, quindi semplicemente creando un file test.cgi nella directory abilitata all'esecuzione di script con ad esempio questo contenuto : #!/bin/bash
echo Content-type: text/html
echo
echo "<HTML>"
echo "<H1> prova di server $SERVER_SOFTWARE</H1>"
echo "<H2>...ora `date`</H2>"
echo "<H1>$QUERY_STRING</H1>"
echo "<H1>$GATEWAY_INTERFACE</H1>"
echo "<H1>$HTTP_HOST</H1>"
echo "<H1>$HTTP_USER_AGENT</H1>"
echo "<H1>$REMOTE_ADDR</H1>"
echo "<H1>$REMOTE_PORT</H1>"
echo "<H1>$SERVER_PROTOCOL</H1>"
echo "<H1>$SERVER_SOFTWARE</H1>"
for xf in /tmp/*
do
echo "<H1> $xf</H1>"
done
echo "</HTML>"

Dato che il server gira con un utente non root ( solitamente “nobody” se non modificato il file di configurazione ) occorre dare i diritti corretti di esecuzione altrimenti apparira' un messaggio per indicare il permesso negato.
Aprendo tale file dal Browser verra' interpretato dalla shell e restituito il risultato sottoforma di pagina html.
Nello script sono usate alcune variabili del server che contengono dati sul tipo di server indirizzo ip del client, tipo di browser ecc... e poi per fare una prova verra' elencato il contenuto della directory /tmp con il ciclo di FOR