PHP-Gästebuch v1.78
von Frank Claußner, erweitert durch Benjamin Mehlhorn
Scriptsprache: PHP
Freeware

----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------

1. Anmerkung:
=============

Für Schäden, egal welcher Art, die gegebenenfalls auftreten, übernehme ich keine Haftung!
Die Copyright-Zeile am unteren Ende im Gästebuch sowie die Copyright-Einträge im Quelltext
dürfen nicht entfernt werden!


2. Historie:
============

v1.78, 30.08.2025
-----------------
+ Session-Behandlung verbessert, so dass eine einzige Anmeldung auch für mehrere Tätigkeiten funktioniert
		. Verbesserungen bei der Passwort-Prüfung
		. Neues Benutzernamen-Feld bei der Anmeldung, wird im Code jedoch nicht geprüft
		. Logout-Funktion ergänzt, Session wird beim Speichern nicht mehr zerstört
+ Optionen: Neue Betreff-Optionen für E-Mails ergänzt
+ UTF-8 als Encoding definiert
+ Layout: px entfernt, so dass in der Konfiguration sowohl %- oder px-Werte verwendet werden können.
+ Kompatibilität für aktuelle PHP-Versionen (getestet mit PHP 8.1) erhöht und zentrale Funktionen erweitert.

v1.77, 21.06.2025
-----------------
+ Potentiellen XSS-Angriff durch Prüfung der Variable $entry unterbunden.
+ preg_match für E-Mail-Prüfung korrigiert.

v1.76, 23.02.2023
-----------------
+ Kleine Anpassungen

v1.75, 30.10.2022
-----------------
+ PHP 8.1 Anpassungen

v1.74, 25.02.2016
-----------------
+ Anpassungen im Konfigurationsbereich

v1.73, 20.05.2012
-----------------
+ Der Admin-Link wird nach dem Speichern der Einstellungen weiterhin angezeigt
+ Die Email-Funktion in "guestbook_newentry.php" geändert, so dass die Anzeige der IP-Adresse in der 
  Benachrichtigung wieder funktioniert.

v1.72, 14.02.2012
-----------------
+ Zentrale Datei "guestbook_functions.php" angelegt und function get_eof() dorthin ausgelagert.

v1.71, 11.08.2010
-----------------
+ Format der E-Mail Adresse: Statt "@" den HTML-Code "&#64;" verwenden:
  guestbook_newentry.php, guestbook_changeentry.php, guestbook.php

v1.70, 25.03.2007
-----------------
+ Verhinderung von schadhaftem HTML-Code in den Einträgen
+ URLs werden in einem neuen Fenster und ohne Hyperlink (a href…) geöffnet

v1.63
-----
+ Beim Hinzufügen von Einträgen erscheint nun ein Grafik-Ticket, welches der User abtippen muss.
+ Der IP-Blocker wurde im Control-Panel entfernt.

v1.62, 17.08.2005
-----------------
+ Fehler beim IP-Filter behoben

v1.61
-----
+ Fehler bei der Session-Behandlung war doch noch vorhanden, jetzt beseitigt (hoffentlich)!
+ Language-Support (Deutsch und Englisch im Paket enthalten)
+ Smilies bei Einträgen und Antworten
+ Yahoo- und MSN- Eingabe ab jetzt möglich
+ Bilder anstatt Ausgabe der Email, URL, ICQ...
+ IP-Blocker zusätzlich zum Schutz gegen Flodding
+ Ansicht des Eintrages beim Beantworten und beim Löschen
+ einige kleine Bugfixes

+ Mehr Einstellungen im Administrations-Bereich:		
		. Hintergrundbild und -farbe gleichzeitig möglich
		. Positionierung des Hintergrundbildes
		. Hintergrundbild fixieren / wiederholen
		. Bilder für Email, URL, ICQ... einstellbar
		. Text für Admin-Email einstellbar
		. Hinweistext für Admin-Links unterschiedlich definierbar
		. Automatischer Zeilenumbruch für Kommentar einstellbar
		. Breite der linken Tabellenspalte einstellbar
		. Breite der einzeiligen Eingabefelder einstellbar
		. Breite und Höhe der mehrzeiligen Eingabefelder einstellbar
		. Link- und Fehlerschrift einzeln einstellbar
		. altes Passwort für Änderung des Passworts nötig
		. Löschbestätigung für Gästebuch-Reset hinzugefügt

+ Dateien sind zum grossen Teil umbennant:	
		. aus "guestbookadd.php" wurde "guestbook_newentry.php"
		. aus "reentry.php" wurde "guestbook_reentry.php"
		. aus "changeentry.php" wurde "guestbook_changeentry.php"
		. aus "delentry.php" wurde "guestbook_delentry.php"
		. aus "admin.php" wurde "guestbook_control.php"
		. aus "banned.php" wurde "guestbook_words.php"
		. aus "banned" wurde "words.php"

+ Weitere neue Dateien:				
		. "guestbook_ipblocker.php" - IP-Filter
		. "blocked.php" - Datei für IP-Adressen des IP-Filters
		. "function_smile.php" - Funktionen für Smilies

+ alte Einträge-Datei ist kompatibel zu neuer Version, kann also bestehen bleiben
+ Einstellungen des Gästebuch werden jetzt in PHP-Dateien gespeichert, Update-Datei "UPDATE.php" für die Umwandlung
  der alten Dateien "guestbookdat" und "banned" im Paket enthalten

v1.60
-----
+ Fehler bei der Session-Behandlung beseitigt (hoffentlich)!

+ Es müssen nur die Scriptdateien überschrieben werden! Nicht die "pwd", "guestbookdat", "banned" und 
  "guestbook-include" überschreiben!

v1.59
-----
+ Quelltext verbessert
+ einfachere Einbindung in die eigene Homepage
+ kleine Änderungen im Admin-Bereich (Textfarbe von Errormeldungen...)
+ neues Design

+ Es müssen nur die Scriptdateien überschrieben werden! Nicht die "pwd", "guestbookdat", "banned" und 
  "guestbook-include" überschreiben!

v1.58
-----
+ Die letzte Version war doch noch nicht sicher genug und konnte noch geknackt werden.
  Die jetzige Version ist sicher, und der Admin-Bereich kann nicht gehackt werden. Ich hoffe es auf jeden Fall.
+ Ich habe einen Löschen-Button beim Antwort-Script hinzugefügt. Mit ihm kann man vorhandene Antworten löschen.
+ Man kann ab nun eine Freizeile zwischen jeden Eintrag setzen.
+ Man kann aussuchen, ob man die Webserver-Zeit übernimmt, oder ob man eine eigene Zeiteinstellung angibt, falls
  der Server in einem anderen Land steht.
+ Die Datei "guestbook.php ist um ca. 60 Prozent kleiner geworden.

+ Es müssen nur die Scriptdateien überschrieben werden! Nicht die "pwd", "guestbookdat", "banned" und 
  "guestbook-include" überschreiben!

v1.57
-----
+ Eine unbekannte Person hat einen BUG in meinem Gästebuch gefunden. Den Eintrag könnt Ihr in meinem
  Gästebuch finden. Er hat ein Tool geschrieben, mit dem man von irgendwo die Admineinstellungen eines jeden 
  beliebigen Gästebuchs ändern kann. 
  Ich habe jetzt das GB umgeschrieben und verwende von nun an Sessions. Das ist natürlich ein Nachteil 
  für diejenigen, die Sessions nicht nutzen können. Aber es geht leider nicht anders.
  Alle Vorgängerversionen sind bertroffen. Wer eine ältere Version nutzt, sollte die neue 
  Version unbedingt downloaden und installieren.

v1.56
-----
+ Der Zeilenumbruch bei überlangen Wörtern funktioniert jetzt richtig. Die letzte Lösung war nicht so optimal
+ Im Bereich "Eintrag ändern" wird jetzt die IP-Adresse des Users angezeigt, die er zur Zeit des Eintragens hatte

v1.55
-----
+ Der \r Bug ist nun auch weg. Es war nicht wirklich ein Bug, hat aber in einem Editor gestört.
+ Da von Hause aus bei PHP register_globals auf Off gestellt ist, musste ich die globalen Variablen umformen.
  Diese Version funktioniert jetzt auch auf Webservern, wo diese Einstellung zutrifft.
+ Im Image-Ordner ist ein Unterverzeichnis "psp" vorhanden. Dort liegen die Funktionstasten als PaintShopPro-Vorlage.
+ Der Workshop hat sich geändert.
+ Updatescript zum aktualisieren der Datei "guestbook-include" von v1.51 auf 1.55 enthalten

v1.54
-----
+ Bug beim Ändern von Einträgen behoben. Danke an -=JM=- aus meinem Forum! 
+ Kleine Quelltextänderungen 
+ Updatescript zum aktualisieren der Datei "guestbook-include" von v1.51 auf 1.54 enthalten

v1.53
-----
+ Nach der letzten Aktualisierung funktionierte der IP-Schutz nicht mehr. Dieser Bug wurde hiermit beseitigt.
+ Updatescript zum aktualisieren der Datei "guestbook-include" von v1.51 auf 1.53 enthalten

v1.52
-----
+ Antwort zu einem Eintrag übersichtlicher sowie Name des Admin kann angegeben werden
+ Zeitbug bei den Antworten entfernt
+ allg. Zeitfunktion zum korrekten Anzeigen der Zeit verbessert
+ Datei "guestbookdat" aus der vorigen Version weiterhin nutzbar
+ Updatescript zum aktualisieren der Datei "guestbook-include" von v1.51 auf 1.52 enthalten

+ Fortgeschrittene haben nun die Möglichkeit, das Gästebuch in PHP-generierte Tabellen einzufügen, indem nur 
  die ersten 3 Variablen der Scripte "admin.php", "banned.php", "changeentry.php", "delentry.php", "guestbook.php",
  "guestbookadd.php" und "reentry.php" geändert werden. Eine exakte Hilfe folgt später.

v1.51
-----
+ IP-Überwachung gegen Gästebuch-Flodding, über Admin-Bereich an-/abschaltbar, sowie Zeitraum einstellbar
+ Rausfiltern von Wörtern, die vom Admin über das Script "banned.php" festgelegt werden können
+ Schriftfarbe vom Text bei "Seiten:" und "Powered by..." einstellbar

+ Die Datei "guestbookdat" der Version 1.50 und niedriger ist nicht mehr kompatibel!!!

v1.50
-----
+ Änderungsmöglichkeiten bei Einträgen erweitert
+ Gleichheitszeichenbug entfernt
+ Überlange Einträge ohne Leerzeichen werden abgeschnitten
+ Beim Ändern von Antworten, wird Datum und Zeit automatisch beseitigt

- Die Datei "guestbookdat" der Version 1.49 und niedriger ist nicht mehr kompatibel!!!

v1.49
-----
+ Eingabe der ICQ-Nummer oder AIM-Name möglich
+ Admin kann im Control Panel einstellen, welche Angaben User machen kann
+ HTML-Tag ein- und abschaltbar
+ "http://"-Bug entfernt  -  wird jetzt immer überprüft, ob http:// mit angegeben wurde

- Die Datei "guestbookdat" der Version 1.48 und niedriger ist nicht mehr kompatibel!!!

v1.48
-----
+ kleine Verbesserungen am Quelltext
+ Home-Link abschaltbar

v1.47
-----
+ Schriftarten und die Tabellenbreite einstellbar
+ ebenso Dokument-Hintergrund: entweder Farbe oder Bild

- Die Datei "guestbookdat" der Version 1.46 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.46 (Die Entwicklung geht doch weiter.)
-----
+ Bug im Emailtext (an den User) entfernt ("<br>" statt neue Zeile)
+ neue Images

- Die Datei "guestbookdat" der Version 1.43 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.45 (final)
-----
+ ein paar Admineinstellungen neu (Schrift...)
+ Entitybug entfernt
+ Zeitbug entfernt

- Die Datei "guestbookdat" der Version 1.43 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.44
-----

- nicht offizielle Version

v1.43
-----
+ Headlines per Controlpanel abschaltbar

- Die Datei "guestbookdat" der Version 1.42 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.42
-----
+ Emailbug entfernt
+ neue Einstellmöglichkeiten für Admin (GMT-Zeit plus z.B. 2 Stunden,...)

- Die Datei "guestbookdat" der Version 1.41 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.41
-----
+ Farbeinstellung um Eine erweitert.
+ Relikte entfernt.
+ Bugs in der Datei "reentry.php" entfernt.

- Die Datei "guestbookdat" der Version 1.40 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.40
-----
+ komplette Gästebuch wurde überarbeitet
+ Admin hat jetzt noch mehr Einstellungsmöglichkeiten im Controlpanel
+ Admin kann Farben selber einstellen
+ Admin kann andere Bilder einstellen
+ Anzeige des Adminlink im Gästebuch: ja/nein
+ kleine Spielerei: Admin kann Eintrag von User auch direkt umändern!
+ Bug entfernt: - Darstellungsfehler beim Hinzufügen von Einträgen

- Die Datei "guestbookdat" der Version 1.41 und niedriger ist nicht mehr kompatibel!!!
- Die Datei "guestbook-include" der Version 1.31 und niedriger ist nicht mehr kompatibel!!!

v1.31
-----
+ Bug entfernt: - Darstellungsfehler beim Hinzufügen von Einträgen

v1.3
----
+ Bug entfernt: - Darstellungsfehler (";<;>)

v1.2
----
+ einige Bugs entfernt

v1.1
----
+ einige Bugs entfernt: - Anzeige, welche Einträge gerade dargestellt werden
			- Bug beim Löschen und Hinzufügen von Einträgen
			- Darstellungsbug direkt nach dem Hinzufügen
			- Email- und URL-Darstellungsbug im Gästebuch, wenn Beide zu lang
+ Admin kann jetzt seine Antwort direkt unter den Eintrag setzen (sogenanntes "RE")

v1.0
----
+ Admin kann bestimmen wie viele Einträge pro Seite angezeigt werden sollen
+ Admin kann Headline beliebig verändern
+ Admin kann Gästebuch zurücksetzen und ein Backup machen, wenn nötig
+ Admin-Bereich ist mit kodiertem Passwort geschützt
+ Passwort kann im Admin-Bereich geändert werden
+ Admin kann Einträge online löschen

---------------------------------------------------------------------------------------------------------