xwolf.de|com

Menü

Inhalt dieser Site

Ansicht

Individuelle Benutzerkonfiguration für die Site.

Druckansicht Startseite Suchen

A A A A

Guestbook (2)

Dieses Gästebuch-Skript erlaubt die freie Definition der Ausgabe- und Eingabedesigns, unbeeinflußt vom eigentlichen programm. Zudem ist es ein Multi-User-Gästebuch, d.h. mit Hilfe diesen eines Programmes können gleichzeitig mehrere verschiedene Gästebücher verwaltet werden.

In Unterschied zu anderen Gästebüchern erlaubt dieses sogar die Verwendung unterschiedlicher Designs für ein und dasselbe Buch.

Achtung: Dieses Gästebuch ist keine Weiterentwicklung des anderen Gästebuch-Programmes, welches hier auch angeboten wird. Es wurde als Public-Domain-Skript in Zusammenarbeit mit einem Artikel in der Juni'99-Ausgabe der Web Professionel vom Interest Verlag entwickelt in Form einer Programmieranleitung.
Aus diesem Grund besitzt das jetzige Skript noch nicht die folgenden Funktionen:

Source Code und Konfigurationsdateien


Perl Sourcecode
guestbook.pl Das eigentliche Hauptprogramm
gb-library.pl Subroutinen
Konfigurations- und Styledateien
config.dat Die Konfigurationsdatei. Achten Sie in dieser Datei, daß Parameternamen und Wert durch ein Tabsprung getrennt sein müssen und Kommentare immer hinter dem 'Gartenzaun' (#) stehen.
guestbook.var Beispiel einer benutzerspezifischen Konfigurationsdatei ("varfile"). Achten Sie in dieser Datei, daß Parameternamen und Wert durch ein Tabsprung getrennt sein müssen und Kommentare immer hinter dem 'Gartenzaun' (#) stehen.
book_style.html Style-Datei für das Aussehen des Gästebuches. Die einzelnen Einträge siehe unten.
entry_style.html Diese Style-Datei bestimmt das Aussehen eines einzelnen Eintrages.
mail_style.txt Soll bei jedem Eintrag eine Mail verschickt werden, bestimmt diese Datei das Aussehen der (ASCII)Textdatei.
systemmeldung.html Bei Fehlermeldungen, wie ungenügende Eingaben bei Einträgen, wird dieses Style benutzt.
Achtung: Sollte beim obigen Download-Link fehlerhafterweise als Dateiname "xload.cgi" angegeben sein, ignorieren Sie dies und benennen den Dateinamen um. Einige Browser ignorieren leider den Standard zur Übermittlung von Dateinamen...


Wirkungsweise

Hinweis: Laut der Entscheidung des Landgerichts Trier vom 16.05.2002 ist ein Betreiber eines Gästebuches verpflichtet, dieses regelmäßig auf rechtswidrige Eintragungen zu überprüfen.
Bei einer rein privat betriebenen Webseite reiche, nach Meinung des Gerichts, eine wöchentliche Überprüfung.
Als alleiniger Betreiber dieser Website, der mehrere Hundert E-Mails pro Tag bekommt und einen Haufen an Arbeit hat und durch die Bannerschaltung nicht mehr privat ist, kann ich mir eine so häufige Überprüfung eines Beispielgästebuches weder zeitlich, noch finanziell (bei Vertretung) leisten.
Aus diesem Grund war ich gezwungen das Testgästebuch abzuschalten.

Installation

Kopieren Sie die Dateien gb2.pl und gb-library.pl in Ihr CGI-BIN-Verzeichnis. Setzen Sie die Ausführungsrechte mittels CHMOD. Z.B.: chmod 755 gb2.pl und chmod 644 gb-library.pl.
Ändern Sie im Programm gb2.pl folgende Zeilen:
Zeile 1: #!/local/bin/perl5 Geben Sie hier Ihren eigenen Pfad zu Perl ein, falls er von diesem abweicht.
Zeile 29: $CONFIG_FILE = "config.dat"; Tragen Sie hier den Pfad zu der Datei config.dat mit den Konfigurationseinstellungen ein. Am besten tun Sie diese ebenfalls in dem CGI-Verzeichnis. In dem Fall brauchen Sie diese Zeile nicht zu ändern.
Achten Sie darauf, daß der Webserver diese Datei lesen kann!

Der restliche Teil der Installation erfolgt über die Einstellungen in der Konfigurationsdatei. Siehe dazu den nächsten Absatz.

Die Einstellungen

Die folgenden Benutzereinstellungen werden in der Parameterdatei des jeweiligen Gästebuches definiert. (Die Datei, die durch die Angabe varfile= beim Aufruf des Gästebuches angesprochen wird.).
Achten Sie darauf, daß der Webserver diese Datei lesen können muß!
Variablenname und Wert sind durch einen Tabulatorsprung von einander getrennt. (Keine Leerzeichen!)


guestbook_ownername    xwolf.com Zu Wem gehöhrt das Gästebuch?
guestbook_datafile    guestbook/xwolf.dat In welcher Datei werden die Einträge geschrieben. Diese Datei muss für den Webserver beschreibbar sein. Sie sollte entweder relativ zum Gästebuchskript liegen (wie in diesem Fall), oder eine absolute Pfadangabe haben.
Achten Sie darauf, daß der Eintrag parafile_pathsuffix in der globalen Konfigurationsdatei (siehe unten) an diesem Pfad die Forderung setzt, daß er unterhalb eines gewissen Verzeichnisses zu sein hat.

Diese Datei kann noch mehr Einstellungen enthalten, genauer gesagt, alle Einstellungen die in der globalen Konfigurationsdatei mit den Zeichen 'def_' beginnen. Lassen Sie in diesem Fall in der Parameter-Datei dieses Gästebuches 'def_' weg.
Somit koennen Sie, wenn Sie z.B. in der Parameterdatei eines speziellen Gästebuches den Wert 'book_style' angeben, für dieses Gästebuch ein anderes Layout festlegen als für die anderen Gästebücher, die diese Angabe nicht haben und deswegen auf den Default-Wert zurückgehen.
Bitte halten Sie sich immer vor Augen, daß diese Parameterdatei für ein einziges Gästebuch gilt, während die globale Konfigurationsdatei die unten beschrieben ist, für alle Gästebücher gilt.



Die folgenden Einstellungen werden in der globalen Konfigurationsdatei config.dat festgelegt. Bitte achten Sie unbedingt auf die Dateirechte. Der Webserver muß nicht nur die Konfigurationsdatei lesen können, sondern auch etwaige eingebundene Layout-Dateien, welche hier in der Konfiguration festgelegt werden.
Achten Sie auch darauf, daß zwischen Variablenname und Wert ein Tabulatorspung ist.


mailprog    /usr/sbin/sendmail Der Pfad zum sendmail-Programm. Dieses wird benoetigt, fuer den Fall, dass verlangt wird neue Gaestebucheintraege dem Besitzer des Buches deutlich zu machen.
parafile_pathsuffix    /home/ Ab welchem Root-verzeichnis duerfen die lokalen Parameter-Dateien der Benutzer liegen. Man sollte aus Gruenden der Sicherheit niemals das Rootdir erlauben, sondern mindestens ein Subdirectory angeben.
Achten Sie hier unbedingt auf den Unterschied zwischen absoluten und relativen Pfaden! In den meisten FTP-Clients, wie Cute-FTP oder WS-FTP, werden per Default nur die relativen Pfade angegeben! Das programm jedoch liegt auf dem Webserver und wird von diesem ausgeführt und benötigt deswegen entweder gleich absolute Pfade oder einen relativen Pfad im Bezug auf den Pfad in dem sich das Perl-Skript befindet.
tmp_dir    /tmp Beim Speichern einer jeden neuen Nachricht wird diese in eine tmp-datei abgespeichert, damit sie nicht doppelt gespeichert wird. das Verzeichnis, in dem diese TMP-dateien liegen wird durch die folgende Variable angegeben. Das Verzeichnis muss fuer den Webserver beschreibbar sein.
access_log    access.log Fuer den Fall, das Eingaben kritische Fehler aufweisen kann eine Logdatei angelegt werden, in dem die Zugriffsdaten gesichert werden.
layout_systemmeldung    systemmeldung.html Tauchen Fehler auf, wird die folgende layout-Datei verwendet um diese zu beschreiben. Es handelt sich dabei um eine normale HTML-Datei, welche allerdings den Text '#SYSTEMMESSAGE#' enthalten muss. Dieser Text wird spaeter durch das Programm durch die echte Fehlermeldung ersetzt.
needed_vals    guestbook_datafile, guestbook_ownername Welche Variablen muss der Benutzer in seinen Variablen angeben und koennen nicht aus den Default-variablen genommen werden
Die folgenden Variablen werden als Default-Werte benutzt, falls der Gaestebuch-Besitzer jene nicht durch eigene Werte ueberschreibt.
def_guestbook_ownername    Wolfgang Wiese Wer ist der Besitzer des Gaestebuches
def_mail_owner    1 Soll der Gaestebuch-Besitzer ueber jeden neuen Eintrag mit einer Mail informiert werden, wird die folgende Variable enabled.
def_mail_address    user@example.org Damit der Besitzer auch die Mails erhaelt muss er seine EMail-Adresse eingeben. Per Default ist hier eine keine gueltige EMail angegeben.
def_mail_subject    XWolf Gaestebuch: Neue Nachricht Folgender Subject wird fuer die Mails verwendet
def_allow_html    1 Soll es erlaubt sein, HTML-Tags zu benutzen
def_forbit_tags    iframe, link, body, table, span, img, tr, td, h1, h2, h3, javascript, script, exec, table, frame, frameset, noframes, stale, form, input, select, option Welche HTML-Tags sollen fuer die Benutzung in Gaestebucheintraegen erlaubt sein. (Wird diese Variable leer gelassen, werden keine HTML-Tags erlaubt.)
def_guestbook_datafile    guestbooks/xwolf.dat In welcher Datei werden die Gaestebucheintraege gespeichert
def_entry_style    entry_style.html Die Variablen #ENTRYNAME#, #ENTRYURL#, #ENTRYMAIL#, #ENTRYDATE# und #ENTRYTEXT# werden dabei durch die Daten des Eintrages ersetzt.
def_book_style    book_style.html Wie sieht das gesamte Gaestebuch aus. Moegliche Variablen sind:
  • #GUESTBOOK_OWNERNAME#- Name des Gaestebuch-Besitzers
  • #GUESTBOOK_ENTRIES# - Die einzelnen Gaestebuch-Eintraege, welche nach 'book_style' formatiert sind.
  • #SCRIPT_URI# - Die URL fuer das Gaestebuch-Skript
  • #VARFILE# - Den Pfad zur Variablendatei des GB-Besitzers
def_mail_style    mail_style.txt Falls eine Mail gesandt wird, kann auch dessen Style angepasst werden. Die Variablen #ENTRYNAME#, #ENTRYURL#, #ENTRYMAIL#, #ENTRYDATE# und #ENTRYTEXT# werden dabei durch die Daten des Eintrages ersetzt.
def_dateformat    4 Das Format, mit der das Datum ausgegeben wird Werte:
  • 0: Datum wird in der Form: Datum - Zeit ausgegeben
  • 1: Datum
  • 2: Wochentag , Datum
  • 3: Wochentag, Datum - Zeit
  • 4: Abgekuerzter Wochentag, Tag. Monat
def_sorting    1 Die Sortierreihenfolge wird durch den folgenden Flag festgelegt: Wert:
  • 0: Alte Nachrichten oben, Neue unten
  • 1: Neue Nachrichten oben, Alte unten
def_noemail    keine Falls keine gueltige EMail-Adresse eingegeben wurde, benutz den folgenden Eintrag als Platzhalter.
def_nourl    http://www.bereich.com Falls keine gueltige URL eingegeben wurde, benutz den folgenden Eintrag als Platzhalter.
def_maxlength    5000 Um ausufernde lange Texte zu vermeiden, geben wir hier den Texten eine maximale Zahl an Textzeichen

Info

$Id: gb2.shtml,v 1.3 2003/05/21 10:25:21 xwolf Exp $, Linkcount: 1
© 1996 - 2003 by xwolf