...
Code Block |
---|
#!/bin/sh#disable filename globbing set -f #Ich bin ein Dokument vom Typ text/html echo Content-type: text/html echo "" #Die HTML-Tags werden mit dem Befehl echo ausgegeben. echo '<HTML>' echo '<HEAD>' echo '<TITLE> Ein Counter </TITLE>' echo '</HEAD>' echo '<BODY BGCOLOR="BBDDFF" TOPMARGIN=5 LEFTMARGIN=5 LINK=YELLOW VLINK=WHITE><CENTER>' echo '<H5>' echo 'Besucher seit dem 01.06.1999:' echo '</H5>' echo '<TABLE BORDER=0 CELLSPACING="0" CELLPADDING="0"><TR><TD>' #Der Pfadname zur Counterdatei, die den letzten Wert enthält#Pfadenthält #Pfad vorhanden, Zugriffsrechte ?? COUNT_FILE=/tmp/cgi-count if [ ! -f $COUNT_FILE ] then # Wenn die Datei nicht existiert, dann mit dem Wert 0 anlegen. LAST_COUNT=0 echo $LAST_COUNT >$COUNT_FILE else # sonst Inhalt lesen und erhöhen, dann Speichern LAST_COUNT=`cat $COUNT_FILE` expr $LAST_COUNT + 1 >$COUNT_FILE fi #Es ist ein 5-stelliger Zähler#DerZähler #Der Wert wird jeweils durch die 5 Werte dividiert, das Ergebnis ergibt die#einzelnedie #einzelne Ziffer für jede Stelle for i in 10000 1000 100 10 1 do FILENAME=`expr $LAST_COUNT / $i` while [ $FILENAME -gt 9 ] do # solange der Wert größer 9 ist, weiter durch 10 teilen FILENAME=`expr $FILENAME % 10` done done#Der#Der Wert bildet die Grundlage für den Dateinamen der Grafik, welche welche#die #die einzelnen Ziffern enthält also 0.gif enthält die ?0" #der Tag für die Anzeige der Grafik echo '<img src=/graphics/'$FILENAME'.gif border="0">' done echo '</TD></TR></TABLE>' echo '</CENTER>' echo '</BODY></HTML>' |
...
Code Block |
---|
#!/bin/sh # disable filename globbing set -f echo Content-type: text/plain echo echo CGI/1.0 test script report: echo echo argc is $#. argv is "$*". echo echo "SERVER_SOFTWARE = $SERVER_SOFTWARE" echo "SERVER_NAME = $SERVER_NAME" echo "GATEWAY_INTERFACE = $GATEWAY_INTERFACE" echo "SERVER_PROTOCOL = $SERVER_PROTOCOL" echo "SERVER_PORT = $SERVER_PORT" echo "REQUEST_METHOD = $REQUEST_METHOD" echo "HTTP_ACCEPT = $HTTP_ACCEPT" echo "PATH_INFO = $PATH_INFO" echo "PATH_TRANSLATED = "$PATH_TRANSLATED" echo "SCRIPT_NAME = "$SCRIPT_NAME" echo "QUERY_STRING = "$QUERY_STRING" echo "REMOTE_HOST = $REMOTE_HOST" echo "REMOTE_ADDR = $REMOTE_ADDR" echo "REMOTE_USER = $REMOTE_USER" echo "AUTH_TYPE = $AUTH_TYPE" echo "CONTENT_TYPE = $CONTENT_TYPE" echo "CONTENT_LENGTH = $CONTENT_LENGTH" |
...
Code Block |
---|
#!/bin/sh # disable filename globbing set -f echo Content-type: text/html echo "" echo '<HTML><HEAD>' echo '<BODY BGCOLOR="#BBDDFF">' # Der Pfad für die Datei, welche die Gästebuchdaten enthält GB_DIR=/www/htdocs/keipke/gaestebuch.data # Der Dateiname GB_FILE=$GB_DIR/gaestebuch.data # Herausfiltern der eingegebenen Daten aus dem String ?$QUERY_STRING" NAME=`echo $QUERY_STRING|cut -d'&' -f1|cut -c 10-` VORNAME=`echo $QUERY_STRING|cut -d'&' -f2|cut -c 9-` EMAIL=`echo $QUERY_STRING|cut -d'&' -f3|cut -c 7-` KOMMENTAR=`echo $QUERY_STRING|cut -d'&' -f4|cut -c 11-` DATE_TIME=`date +'%d.%m.%y %T'` NAME=`/www/htdocs/keipke/cgi-bin/charchg.sh $NAME` VORNAME=`/www/htdocs/keipke/cgi-bin/charchg.sh $VORNAME` EMAIL=`/www/htdocs/keipke/cgi-bin/charchg.sh $EMAIL` KOMMENTAR=`/www/htdocs/keipke/cgi-bin/charchg.sh $KOMMENTAR` # Ausgabe der Daten zur Bestätigung oder Fehler echo 'Ihre Eingabe:<BR><BR>' echo '<TABLE BORDER="1"><TR>' echo '<TD>' echo Zeit echo '</TD>' echo '<TD>' echo $DATE_TIME echo '</TD></TR><TR>' echo '<TD>' echo Name echo '</TD>' echo '<TD>' echo $NAME echo '<TD></TR><TR>' echo '</TD>' echo '<TD>' echo Vorname echo '</TD>' echo '<TD>' echo $VORNAME echo '</TD></TR><TR>' echo '<TD>' echo EMail echo '</TD>' echo '<TD>' echo $EMAIL echo '</TD></TR><TR>' echo '<TD>' echo Kommentar echo '</TD>' echo '<TD>' echo $KOMMENTAR echo '</TD>' echo '</TR></TABLE><BR>' if [ -z $NAME ] || [ -z $EMAIL ] || [ -z $KOMMENTAR ] then echo 'konnte nicht gespeichert werden, weil<BR>' echo 'die Felder Name, EMail oder Kommentar<BR>' echo 'nicht ausgefüllt wurden.<BR>' echo 'Gehen Sie über Ihren Browser mit dem<BR>' echo 'Schalter "Back" oder "Zurück" zur vorherigen<BR>' echo 'Eingabemaske zurück<BR>' else if [ -d $GB_DIR ] then # Wenn das Verzeichnis existiert if \[ \-w $GB_DIR \] then # Wenn das Verzeichnis beschreibbar ist if \[ \! \-f $GB_FILE \] then # Wenn die Datei noch nicht existiert, dann anlegen touch $GB_FILE else if \[ \-w $GB_FILE \] then # Wenn die Datei beschreibbar ist echo $DATE_TIME'\|'$NAME'\|'$VORNAME'\|'$EMAIL'\|'$KOMMENTAR >>$GB_FILE echo 'wurde erfolgreich in das Gästebuch eingetragen' echo 'Vielen Dank für Ihren Besuch<BR><BR>' echo '<a href="../main.htm" >Zurück zur Leitseite</a>' else echo 'konnte nicht gespeichert werden.<BR>' echo 'Die Datendatei ist nicht beschreibbar.' fi fi else echo 'konnte nicht gespeichert werden.<BR>' echo 'Das Verzeichnis ist nicht beschreibbar.' fi else echo 'konnte nicht gespeichert werden.<BR>' echo 'Das Verzeichnis existiert nicht.' fi fi echo '</BODY></HTML>' |
...
Code Block |
---|
#!/bin/sh
# aus dem als Parameter übergebenen Wert werden bestimmte Sonderzeichen ausgetauscht. Weil z.B. vom Brwoser %40 für einen @ geliefert wird.
if [ $# -eq 0 ]
then
exit
fi
for i in $\*
do
echo $i|sed -e 's/%40/@/g' -e 's/%E4/ä/g' -e 's/%F6/ö/g' -e 's/%FC/ü/g' -e 's/%C4/Ä/g' -e 's/%D6/Ö/g' -e 's/%DC/Ü/g' -e 's/%DF/ß/g' -e 's/%2C/,/g' -e 's/+/ /g' -e 's/%28/8/g' -e 's/%29/)/g' -e 's/%3C/</g' -e 's/%3D/>/g' -e 's/%22/\"/g' -e 's/%21/\!/g'
done
|
...