cgi-library.pl
Dies ist eine Bibliothek von überaus nützlichen Subroutinen. Ich hab sie aus unterschiedlichen guten Quellen zusammengesucht, da es mir zu umständlich wurde, die ganzen Dateien immer wieder neu einbinden zu müssen.
Source Code
| Perl Sourcecode | |
| cgi-library.pl | Die Library |
Aufruf
Folgende Prozeduren sind in der cgi-library.pl vorhanden:
- ReadParse. Niemmt Eingaben von Formen eintgegen und speichert sie in die Variablen $in{'(feldname)'}.
- PrintHeader. Gibt den Content-Type an, der unbedingt am Anfang jeder Ausgabe erfolgen muss.
- HtmlTop(titel, hintergrund, kopf). Übergibt den Kopf des Dokumentes. Titel, hintergrund und kopf werden in der neuen version benutzt um den Titel des Dokuments, den Hintergrund und mögliche Buttons auszugeben.
- HtmlBot(titel). Gibt einen letzten text=titel aus, bevor das das Dokument geschlossen wird.
- SplitParam. Splittet eine Liste aus unterschiedlichen Parametern auf in eine Liste aus kontinuierlichen Parametern.
- MethGet. Gibt TRUE, falls die cgi mit einer GET-Methode aufgerufen wurde.
- MethPost. Gibt TRUE, falls die cgi mit einer POST-Methode aufgerufen wurde.
- MyBaseUrl. Übergibt die URL des Skripts.
- MyFullUrl. Übergibt die volle URL des Skripts inklusive Query-String.
- MyUrl. Alte Version von MyBaseUrl.
- CgiError(meldung). Gibt Fehler mit der Nachricht 'meldung' aus.
- Library sub_hidecount.pl
- Library date-cmp.pl.
- Check_Name. Prüft Dateinamen, die von Benutzer gegeben werden auf gefährliche Zeichen.
- Get_Seconds(Zeit). Gibt die Zahl der Sekunden des angegebenen Datums zurück.
- lock(filehandle). Lockt ein filehandle mittels flock.
- unlock(filehandle). Unlockt ein filehandle.
- NLock(filename). Lockt ein file mittels einer tmp-File.
- NUnlock(filename). Unlockt ein file.
- get_http($host,$port,$path,$command). Gibt eine Internet-Seite auf einem anderen Server zurück.
- httpstatus($proto_host,$proto_path). Gibt den Status einer URL zurück.
- http_call($url). Gibt eine Seite zurück.
- ALLSort($ARRAY). Sortiert einen Array mit Hilfe der UNIX-Systemfunktion sort.
Parameter können mit Hilfe der Variablen $ALLSORT_METH übergeben werden.
Es sind noch weitere Unterprozeduren vorhanden, aber diese sind mehr für interne Aufrufe innerhalb der cgi-lib.
Installation:
Die Installation ist nicht dringend notwendig damit die cgi-library funktioniert!
Zeile 35:$webadm = 1;Falls HtmlBot() mit default aufgerufen wird, wird ein typischer Text ausgegeben, der in der folgenden Variablen angegeben ist.
Zeile 38:
$webmastertext = '';Dieser Text wird angezeigt, wenn HtmlTop() mit default aufgerufen wurde, und $webadm = 1 ist.
Zeile 60-68:
$bad_path[0]='^/etc/';(Als Beispiel) Dateien, die mittels Check_Name überprüft werden dürfen nicht in Ihrem Pfad mit dem String '/etc/' anfangen. Andernfalls wird diese Datei nicht als gültig betrachtet. Dies ist ein Schutz vor etwaigen Leseversuchen von Dateien wie "/etc/passwd".
Zeile 70:
$ok_p_zahl = 8;Übergibt die Nummer des letzten Eintrags in der obigen Liste. (Bemerkung: Die Liste kann länger sein, und je nach CGI-Programm könnte man diese Zahl anpassen.)
Zeile 74:
$CHKN_Level=0;Gibt den Sicherheitslevel an. 0 ist Standard. Für Zahlen ungleich 0 werden nur Dateinamen akzeptiert, welche nur vom CERT empfohlene Zeichen enthalten.
Info
$Id: cgi-library.shtml,v 1.3 2003/05/22 14:41:56 xwolf Exp $, Linkcount:
© 1996 - 2003 by xwolf -
xwolf ist eingetragene Marke beim Deutschen Patent- und Markenamt (Nr. 301 04 380)