myphp Guestbook v Copyright Claudio Pose myphp Guestbook war ein Open Source project von , Claudio Pose

m yPH P G uestbook © myPHP Guestbook v. 2.0.5 Copyright © 2003 - 2006 Claudio Pose myPHP Guestbook war ein Open Source project von , Claudio Pose. N...
Author: Jürgen Waltz
10 downloads 0 Views 206KB Size
m yPH P G uestbook

©

myPHP Guestbook v. 2.0.5 Copyright © 2003 - 2006 Claudio Pose myPHP Guestbook war ein Open Source project von , Claudio Pose. Nachdem Networkarea.ch eingestellt wurde und Claudio Pose offensichtlich keinen Support mehr leistet, wurde myPHP Guestbook von Christian Thomas unter teilweiser Verwendung des Originalcodes umgeschrieben. Version 3.2.1 Copyright © 2011- 2014 Christian Thomas, Spätestens mit der Einstellung einer Bereitstellung von Bugfixes für PHP 5.3 im August 2014 und der gleichzeitigen Veröffentlichung von PHP 5.6 wurde es notwendig, den erneut in die Jahre gekommenen PHP-Code für das Handling der Datenbankanbindung umfassend zu überarbeiten. Hierzu wurde die im Dezember 2012 von Christian Thomas bereitgestellte Version 3.2.0 bei erneut teilweiser Verwendung des Originalcodes jedoch mit Umstellung der Datenbankanbindung auf MySQLi von Wolfgang Leverberg umgeschrieben. myPHP Guestbook Version 4.6.2 (MySQLi) and myPHP Guestbook BackUp Converter Version 1.0.3 Copyright © 2014 - 2016 Wolfgang Leverberg, myPHP Guestbook and myPHP Guestbook BackUp Converter are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. myPHP Guestbook and myPHP Guestbook BackUp Converter are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .

Inhaltsverzeichnis:

I. Vorbeitung, Haftungsausschlüsse, Installation und Nutzung von myPHP Guestbook 1. Einleitung 2. Haftungsauschlüsse 3. Vorbereitung und Installation 3.1. Erst- oder Neuinstallation 3.2. Update von einer früheren Version < 4.0 3.3. Besondere Ordner-Rechte (!) 3.4. Nutzung von .htaccess-Dateien (!) 4. Änderungen gegenüber vorherigen Versionen < 4.0 5. Foto-Upload 6. Zitier-Funktion 7. Erläuterungen zum Spamfilter 8. Einfügen des myPHP Guestbook in die Website mit PHP

[2] 9. Änderungen bei der Schriftfarbe, den Hintergründen, Ausrichtung des Gästebuchs auf der Website (Rechts-Links-Mittig), Breite des Gästebuchs, Symbole (Icos), Rahmenfarbe der Input-Felder etc.. 10. Häufige CSS-Fehler und deren Vermeidung 11. Responsive Webdesign 12. Besondere Konfigurationsmöglichkeiten bei Nutzung des Gästebuchs innerhalb eines zugangsgeschützten, nicht-öffentlichen Mitgliederbereichs. II. Sonstiges myPHP Guestbook 1. Bugs 2. Version History 3. Lizenz 4. Copyright 5. Credits III. BackUp Converter myPHP Guestbook 1. Vorbereitung und Installation 2. Nutzung des BackUp Converters 3. Sonstiges (Copyright, License, Kontakt) IV. Anhang: Beispiel zur Einbindung des Gästebuchs in eine Website per iframe.

I. Vorbeitung, Haftungsausschlüsse, Installation und Nutzung von myPHP Guestbook

1. Einleitung ------------------------------------------------------------------------Support zu den Versionen ab 4.x (MySQLi) des Gästebuchs bekommen Sie unter Bevor Sie das Gästebuch das erste Mal installieren oder das Update des Gästebuchs nutzen, sollten Sie unbedingt die folgenden Hinweise und die „license.txt“ (zu finden im Ordner „license“) durchlesen. Weitere Hilfe können Sie nach der Installation über den Link „Hilfe" im Admin-Panel aufrufen. myPHP Guestbook ist ein Open Source Gästebuch und unterliegt der GNU General Public License. Mit der Installation und Benutzung von myPHP Guestbook akzeptieren Sie die GNU General Public License. Nach den Lizenzbedingungen kann jeder selbstständig den Code von myPHP Guestbook ändern oder Teile des Codes für andere Projekte benutzen. Dies ist allerdings nur dann gestattet, wenn die Lizenzbestimmungen eingehalten werden, siehe hier: Damit das Programm myPHP Guestbook weiter verbessert werden kann, ist auch Ihre Mithilfe gefragt. Sie können gerne Wünsche für zukünftige Features mitteilen oder gefundene Fehler melden. Nutzen Sie hierfür am besten das Demo-Gästebuch auf der Seite: , damit auch andere User profitieren und sich an

[3] Diskussionen beteiligen können. Ich werde bestrebt sein, ggf. entdeckte Bugs umgehend zu beheben. Da es sich bei myPHP Guestbook um ein relativ kleines Projekt handelt, werden keine Patches angeboten, um ggf. aufgetretene Sicherheitslücken schließen. Daher sollten Sie stets die jeweils aktuellste Version unter herunterladen und installieren, um immer auf dem neuesten Stand zu sein. Achten Sie bitte auf Hinweise zu einem Update oder tragen Sie sich in den Verteiler zum ScriptNewsletter auf ein. 2. Haftungsausschlüsse ------------------------------------------------------------------------ Es ist nicht möglich, eine immer und überall fehlerfrei arbeitende Software anzubieten oder gar eine Haftung für fehlerhafte Software oder eventuelle Sicherheitslücken und daraus ggf. resultierende Schäden und/oder Folgeschäden zu übernehmen, die daher grundsätzlich ausgeschlossen wird. myPHP Guestbook wird „so wie es ist“ angeboten und mit der Installation von Ihnen akzeptiert, unter Ausschluss jeglicher Gewährleistung und unter Ausschluss jeglicher Haftung. Für weiteres siehe auch die GNU-Lizenz.

3. Vorbereitung und Installation ------------------------------------------------------------------------Dieses Paket beinhaltet weitreichende Änderungen und neue Funktionen zu den Versionen 3.1.x und 3.2.x des myPHP Guestbook. Es ermöglicht je nach Wunsch sowohl eine komplette Neuinstallation oder auch „nur“ ein Update bereits vorhandener Installationen der Versionen ab 3.1.x und höher. Der Unterschied liegt lediglich darin, dass bei einer kompletten Neuinstallation die Konfigurationsdatei (config.inc.php) zur notwendigen Datenbankanbindung neu beschrieben und die Datenbanktabellen komplett neu anlegt werden. Sind die config.inc.php mit allen notwendigen Inhalten zur Verbindung mit der Datenbank und die Datenbanktabellen für das Gästebuch aus einer der vorherigen Versionen ab 3.1.x aufwärts bereits vorhanden, ist nur ein Update der Datenbank erforderlich, wobei insbesondere die Tabelle „*_entries“, in der sich die Gästebucheinträge befinden, erhalten bleiben kann, was eine spätere Wiederherstellung von Einträgen unnötig macht. Wer noch eine der ganz alten Versionen 1.x oder 2.x in Gebrauch hat, muss eine komplette Neuinstallation vornehmen. Voraussetzungen zum Betrieb von myPHP Guestbook V. 4.6.2:    

Apache Server MySQL 5.x PHP 5.5.x oder höher (getestet auch unter PHP 5.6.x und 7.0.x) aktivierte MySQLi Unterstützung

Keine zwingende Voraussetzung zur Nutzung des myPHP Guestbook, aber aus Sicherheitsgründen insbesondere bei Nutzung der Foto-Upload-Funktion wünschenswert:  die vom Provider zugelassene Nutzung eigener .htaccess-Dateien

[4] Für die Nutzung der Foto-Upload- und Smiley-Upload-Funktion müssen ferner folgende weiteren Voraussetzungen serverseitig erfüllt sein:  file_uploads = On

 GD Support Das Gästebuch kann auch installiert und genutzt werden, wenn serverseitig kein GD-Support eingerichtet sein sollte und/oder kein Dateiupload ermöglicht wird (bei den größeren Hostern eher unwahrscheinlich), dann kann jedoch die Foto-Upload-Funktion mit automatischer Größenanpassung nicht genutzt werden. Für das automatische Zippen (komprimieren) der mit dem Programm erstellten BackUps muss schließlich serverseitig der

 zlib Support aktiviert sein. Hierbei gilt jedoch ebenso, dass das Gästebuch auch ohne diesen Support installiert und genutzt werden kann einschließlich der BackUp-Fertigung; die BackUps können dann nur nicht automatisch komprimiert werden.

3.1. Vorbereitung und Durchführung einer kompletten Neu- od. Erstinstallation: Zunächst alle Dateien aus dem Download-Paket auf den Server laden. Im Browser zu http(s)://www.Ihre-Domain.de/Ihr-Gästebuchordner/install/ surfen. Sie werden zuerst gefragt, ob Sie eine komplette Neuinstallation oder nur ein Datenbank-Update von einer der Gästebuch-Versionen ab 3.x vornehmen möchten. Nach dem Klick auf den Button „komplette Installation" wird u.a. geprüft, ob das Modul MySQLi von Ihrem Hoster bereitgestellt wird. Wenn nicht, wird Ihnen das angezeigt und es geht an dieser Stelle nicht weiter. Wenn aber, wie zu erwarten, doch, vervollständigen Sie die Eingabemaske mit Ihren MySQL- und Admin-Zugangsdaten. In der Installations-Maske wird seit v.4.5.6 mit einem DropDown-Menü auch das Land abgefragt, unter dem die Homepage mit dem Gästebuch laufen soll, um anhand dieser Angabe die passende Zeitzone zu ermitteln, die ebenfalls in der „config.inc.php“ abgespeichert wird. Das Gästebuch-Script greift dann später bei Bedarf auf die entsprechende Zeitzone zu und ermitteln so Uhrzeit (und Datum) für Einträge. Wird beim DropDown die Einstellung „andere/others“ eingestellt, nutzt das Script wie bereits bei allen bisherigen Installationen die „default settings“ des Servers, auf dem das Gästebuch installiert ist, um die Zeit zu ermitteln. Es werden Ihnen in der unteren Hälfte der Eingabemaske Ordner/Dateien angezeigt, die unbedingt die CHMOD-Rechte 0755 oder 0777 bekommen müssen. Wenn auch hierbei alles ok ist, wird dies angezeigt, ansonsten müssen die CHMOD-Rechte der angezeigten Ordner im FTP Client geändert werden, weil sonst die Smiley- und Backuperstellung, sowie der Foto-Upload nicht funktionieren.  Achtung: Die Verzeichnisse „images/smilies“, „img_guest“ und „backup“ müssen die

[5] CHMOD Rechte 0755 oder ggf. sogar 0777 bekommen (kann im FTP Client eingestellt werden) - Für weitere Erläuterungen siehe Absatz I. => 3. => 3.3

Nachdem Sie alle Felder der Eingabemaske ausgefüllt haben, klicken Sie weiter auf den nächsten Schritt 2. Die Konfigurationsdatei wird geschrieben, danach wird die Datenbank eingerichtet.  Nach erfolgreicher Installation sollten Sie unbedingt den „install“-Ordner aus Sicherheitsgründen mit allen darin befindlichen Dateien wieder von Ihrem Server löschen!

Sollte die Installation nicht erfolgreich sein, ist es ratsam, die Datei „config.inc.php“ im „includes“-Ordner noch einmal zu kontrollieren. In einzelnen Fällen kann es vorkommen, dass nach der Installation das Einloggen im AdminPanel fehlschlägt und Sie immer wieder in der Login-Maske landen. Dann werden Fehlermeldungen in etwa wie folgt ausgegeben: Warning: session_start(): open(/var/www/web/tmp/sess_ xxx….xxx , O_RDWR) failed: No such file or directory (2) in /var/www/users/web/myphp-guestbook/admin/admin.php on line 22 Warning: Unknown: open(/var/www/web/tmp/sess_xxx….xxx, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/web/tmp) in Unknown on line 0 Um diesen Fehler zu beheben, müssen Sie entweder im Rootverzeichnis dem Verzeichnis (Ordner) „tmp" die CHMOD-Rechte 0777 zuweisen, oder, falls dieses noch nicht existiert, es zuerst erstellen und dann die CHMOD-Rechte 0777 zuweisen. Hier wurde vom Verzeichnis „tmp" gesprochen, es kann auch anders heißen, z.B. sind andere häufige Namen „sessions" oder „temp". Nach der Installation kann das ganze Gästebuch kinderleicht über das myPHP Guestbook Admin-Control-Panel verwaltet werden. Zugriff auf das Admin-Panel gibt es nur mit dem korrekten Benutzernamen und dem Passwort, die Sie während der Installation eingegeben haben. Zum Einloggen in das Admin-Panel speichern Sie am einfachsten in Ihrem Browser folgenden Link: http://Ihre-Domain.de/Ihr-Gästebuchordner/admin/admin.php

Bei Inaktivität im Admin-Bereich von mehr als 30 Minuten wird aus Sicherheitsgründen die mit dem Einloggen angelegte Session zerstört und der Admin muss sich neu einloggen. Jeder Klick auf einen Link im Admin-Bereich setzt diese Zeitmessung wieder auf „Null“, sodass die vollen 30 Minuten nach jedem Klick wieder zur Verfügung stehen und ein unbeabsichtigter Logout vermieden wird.

[6] 3.2. Vorbereitung und Durchführung des Updates einer vorhandenen Installation: Wer eine der vorherigen myPHP Guestbook-Versionen ab 3.x bereits nutzt, fertigt bitte zunächst im eigenen Interesse ein neues, aktuelles BackUp der Gästebucheinträge im vorhandenen Admin-Bereich. Das BackUp herunterladen und sicher abspeichern. Wer phpMyAdmin, SQL-Dumper oder vergleichbares zur Verfügung hat, fertigt bitte eine komplette Sicherungskopie der gesamten vorhandenen Datenbank an. Den kompletten Ordner, in dem sich alle Ihre Gästebuchdateien befinden, kopieren und als Sicherungskopie gesondert abspeichern. Bei dem Datenbank-Update bleiben grundsätzlich die in der Tabelle „*_entries" gespeicherten Gästebucheinträge erhalten, da diese Tabelle nicht gelöscht wird. Ein Datenbank-Update funktioniert allerdings nur von einer der Versionen ab 3.x. Wer bisher noch eine Version 2.x genutzt hat, muss eine komplette Neuinstallation vornehmen. Zum Einspielen der Einträge aus einer dieser alten Gästebuchversionen 2.x siehe unten im Abschnitt III. Sollte es nach dem Update Probleme geben, kann ein BackUp aus einer Version 3.x meist ohne weitere Vorarbeiten in die Tabelle „*_entries" der Datenbank eingelesen werden. Die Struktur dieser Tabelle ist zwar ab Version 4.6.0 zu den davor liegenden Versionen geringfügig verändert, weil zwei neue Spalten hinzugekommen sind, dies steht aber einer Verwendung eines BackUps aus einer der älteren GästebuchVersionen ab 3.x i.d.R. nicht entgegen. Wenn Sie schon Einträge im bestehenden und genutzten Gästebuch einer der Versionen 3.x haben und hierbei bisher, wie wohl die meisten User, die Einstellung gewählt haben, dass diese im Gästebuch geschriebenen Einträge sofort freigegeben sind und nicht erst vom Admin freigeschaltet werden müssen, ist der Status aller Einträge in der Datenbank auf „0" gesetzt. Mit dieser Status-Einstellung würden Sie im öffentlichen Bereich des Gästebuchs nach der Neuinstallation keine Einträge sehen. Beim Datenbank-Update wird der Status aller Einträge im Gästebuch automatisch auf „1" (= freigegeben) gesetzt. Nach der Erstellung des BackUps, wie einleitend erwähnt, alle Dateien aus dem neuen Gästebuch-Paket auf den Server laden, mit einer Ausnahme:  die Datei: „config.inc.php“ aus dem Ordner „includes“ darf nicht hochgeladen/überschrieben werden, da das Datenbankupdate die Zugangsdaten aus dieser Datei benötigt!

Im Browser zu http://www.Ihre-Domain.de/Ihr-Gästebuchordner/install/ surfen. Sie werden gefragt, ob Sie eine komplette Neuinstallation oder nur ein Datenbank-Update von einer der Gästebuch-Versionen ab 3.x vornehmen möchten. Nach dem Klick auf den Button „Datenbank-Update" wird auch hier zuerst geprüft, ob das Modul MySQLi von Ihrem Hoster bereitgestellt wird.

[7] Wenn nicht, wird Ihnen das angezeigt und es geht nicht weiter. Sie müssen dann die vorherigen, „alten“ Gästebuch-Dateien aus der zur Sicherheit angelegten Kopie wieder hochladen. Ansonsten treffen Sie Ihre Auswahl, welches Update Sie benötigen und nach einem Klick auf den entsprechenden Button werden die notwendigen Datenbankänderungen vorgenommen. Button 1 ändert die Datenbank von einer der Versionen 3.x auf 4.6.2, Button 2 wird für ein Upgrade von Versionen ab 4.0.0 bis 4.3.2 auf 4.6.2 benötigt. Button 3 wird für ein Upgrade von Versionen ab 4.4.0 bis 4.5.2 auf 4.6.2 benötigt. Button 4 ändert die Datenbankeinträge der Versionen ab 4.5.3 bis 4.5.6 auf 4.6.2 Button 5 ändert die Datenbankeinträge der Versionen ab 4.6.0 bis 4.6.1 auf 4.6.2

Welche Tabellen im Einzelnen neu bzw. überschrieben werden, ist angegeben.  Nach erfolgreichem Update sollten Sie den „install“-Ordner aus Sicherheitsgründen mit allen darin befindlichen Dateien wieder von Ihrem Server löschen!

Im Admin-Ordner kann die aus der Version 3.x stammende Datei „backup_delete.php" gelöscht werden, da nicht mehr benötigt. Im Hauptordner kann die „footer.php“, im langOrdner kann die „us.php“ ebenfalls gelöscht werden. User, die die „config.inc.php“ unter einer älteren Version des myPHP Guestbook installiert haben und gerne die Zeitzonen-Einstellung nutzen möchten (siehe oben), sich aber nicht zutrauen, händisch dort einzugreifen, können sich bei mir melden, ich schicke Ihnen dann eine „Repair“-Datei, mit der die Ergänzung problemlos vorgenommen werden kann.

3.3. Besondere Rechte bestimmter Ordner Gleichgültig ob Sie zu diesem Absatz gelangt sind, weil der Installer Ihnen angezeigt hat, dass bestimmte Ordner nicht beschreibbar sind, Sie Fehlermeldungen beim Foto-Upload oder der BackUp-Erstellung bekommen haben oder einfach nur sorgfältig vorgehen: Lesen Sie sich diesen (und auch den folgenden) Abschnitt aufmerksam durch und erschrecken Sie nicht sofort, wenn Ihnen das eine oder andere zunächst unverständlich erscheint; alles ist lösbar. ☺ In den Hinweisen älterer myPHP Guestbook-Dokumentationen hieß es bislang stets, die „backup“- und „smilie“-Ordner müssten die CHMOD Rechte 0777 erhalten. Dies geschah meiner Meinung nach in dem Bewusstsein, dass es viele unterschiedliche Serverkonfigurationen gibt, die im Einzelnen nicht bekannt sind, und vermutlich auch, weil die Hoster in den Anfangszeiten des Gästebuch-Scripts noch mit anderen technischen Mitteln arbeiteten. Richtig ist es deshalb jedoch nicht und der Sicherheitsaspekt wird vernachlässigt.

[8] Zum besseren Verständnis: Die Verzeichnisse (Ordner) „images/smilies", „backup" und „img_guest" müssen so angelegt sein, dass es möglich ist, dass von PHP in diesen Ordnern Dateien abgelegt werden und diese Dateien dann auch „gelesen" werden können. Dafür werden bestimmte Rechte benötigt, nämlich die sogen. CHMOD Rechte 0755 oder bei manchen ServerKonfigurationen sogar 0777, weil sonst die Erstellung von BackUps oder das Hochladen von neuen Smilies oder der seit V.4.4.0 mögliche Foto-Upload nicht funktionieren. Grundsätzlich sollte ein Ordner aus Sicherheitsgründen jedoch so wenig Rechte wie möglich bekommen. Also besser, weil sicherer, CHMOD 0755 und nur wenn es nicht anders geht CHMOD 0777. Auf der Website von „wiki.selfhtml.org“ wird es so ausgedrückt: „777 ist (sicherheitstechnisch) böse." Das Prüfen und ggf. Ändern von Rechten eines Ordners auf dem Webspace kann mit einem FTP-Clienten, wie z.B. dem bekannten FileZilla o.ä. erfolgen. Oft funktioniert das so, dass man den Verzeichnisbaum des eigenen Webspace auf dem Webserver öffnet, mit der Mouse den gewünschten Ordner anklickt (je nach Programm mit der linken oder auch rechten Mousetaste) und in dem sich dann öffnenden Fenster den Punkt „Dateiattribute ändern" oder „Dateiberechtigungen" oder „Eigenschaften" oder ähnlich benannte Verweise anklickt. Es öffnet sich dann meist ein weiteres Fenster, in dem man sehen und bei Bedarf ändern kann, welche Rechte der betreffende Ordner hat oder bekommen soll. Ob in Ihrem Fall die drei bezeichneten Ordner die Rechte 0777 bekommen müssen oder die –vorzuziehenden(!)- geringeren Rechte 0755 genügen, muss im Zweifel ausprobiert werden, weil dies auch davon abhängt, ob der Apache-Server und die Dateien unter demselben Benutzer laufen (was sie heutzutage tun sollten) oder nicht. Nach dem Hochladen aller Dateien und Ordner aus dem Download-Paket sollten die Ordnerrechte im Normalfall 0755 betragen. Auf 0755 ist auch der Installer mit der eingebauten Prüfung einer Beschreibbarkeit dieser drei Ordner ausgerichtet. Wenn dort die Ordner in grüner Schrift mit dem Hinweis: „vorhanden, beschreibbar" angezeigt wurden, sollte alles Ordnung sein. - Eine eigenverantwortliche Prüfung ersetzt dies jedoch nicht!

Wurde Ihnen vom Installer angezeigt, dass die drei oder einer der drei Ordner „images/smilies", „backup" und/oder „img_guest" zwar vorhanden, aber nicht beschreibbar sind, können Sie das Gästebuch trotzdem nutzen, es wird aber folgendes nicht funktionieren: a) Es kann kein BackUp der Gästebucheinträge mit diesem Script erstellt werden, b) es können keine neuen Smilies mit diesem Script hochgeladen werden c) und der Fotoupload wird nicht funktionieren.

Um dies zu beheben, müssen Sie entweder die CHMOD Rechte des/der betroffenen Ordner ändern, wie oben beschrieben, oder, falls nicht gewünscht oder möglich, eine der folgenden Optionen prüfen: für a) Lösung: Ein anderes, externes BackUp-Programm für die Datenbankeinträge, wie z.B. myphpAdmin, mySQLDumper o.ä. benutzen und in den „Allgemeinen Konfigurationseinstellungen" im Admin-Bereich des Gästebuchs die Option: „BackUp nach dem Versand per E-Mail wieder vom Server löschen?" aktivieren; für b) Lösung: Zunächst einmal sind eine ganze Reihe von Smilies nach der Erstinstallation schon vorhanden. Nur wem die nicht genügen UND der Ordner „smilies" als nicht beschreibbar angezeigt wird, muss ggf. gewünschte neue Smilies per FTP hochladen und in die Datenbanktabelle „*_smilies" eintragen;

[9]

für c) Lösung: In den „Allgemeinen Konfigurationseinstellungen" im Admin-Bereich des Gästebuchs die Option: „Bilder in Gästebucheinträgen anzeigen, Foto-Upload aktivieren:" deaktivieren. 3.4. Nutzung von .htaccess-Dateien Dem Download-Paket sind drei teils unterschiedliche „.htaccess“-Dateien beigefügt, nämlich in den Ordnern „backup", „includes" und „img_guest". Sie tragen dazu bei, die Sicherheit vor schädlichen Eingriffen Dritter wesentlich zu erhöhen. Dateien mit dem Namen .htaccess (das erste Zeichen ist ein Punkt) sind Bestandteile der Konfiguration des Apache Webservers. Der Server-Administrator, also im Zweifel ihr Website-Hoster/Provider, legt in der zentralen Konfiguration fest, welche Berechtigungen er welchen Benutzern oder auch welchen Webangeboten (virtuellen Hosts) zugestehen möchte. Außerdem lässt sich in der zentralen Konfiguration des Apache-Servers (an die Sie als normaler User nicht herankommen, es sei denn, Sie betreiben Ihren eigenen Server) auch ein beliebiger anderer Dateiname einstellen, weshalb der Name einer solchen Datei nicht unbedingt .htaccess lauten muss (wenn es auch üblich und daher meistens so ist). Mit einem Satz: Sie können die .htaccess-Dateien aus dem myPHP Guestbook nutzen, wenn Ihr Provider Ihnen diese Möglichkeit bei Ihrem Hostingpaket eingeräumt hat. Bei den aktuellen großen Providern sollte das der Fall sein. Grundsätzlich wäre mehr möglich, als in den beigefügten Dateien hinterlegt, aber eben nicht überall erlaubt.  Sollten Sie sich unsicher sein oder nach dem Hochladen der Dateien Fehlermeldungen erhalten, insbesondere solche mit „500 Server Error", oder sollten trotz fehlerfreiem Upload hochgeladene Bilder nicht angezeigt werden, löschen Sie die „.htaccess“ aus dem Ordner „img_guest“ wieder vom Server, leeren den BrowserCache und rufen die Website erneut auf, um zu prüfen, ob der Fehler verschwindet.  Vereinzelt kann es je nach Serverkonfiguration vorkommen, dass Ihr Provider zwar die Nutzung eigener „.htaccess“ zulässt, jedoch das durch die „.htaccess“-Datei im Upload-Ordner bewirkte Abschalten von CGI und PHP dazu führt, dass hochgeladene Bilder nicht angezeigt werden. Dann können Sie folgendes versuchen: Öffnen Sie die „.htaccess“ im Ordner „img_guest“ mit einem Texteditor (z.B. WordPad von Windows). Entfernen Sie (nur und ggf. in zwei Arbeitsschritten) die obersten beiden Anweisungen, die wie folgt lauten: # Abschalten: cgi, SSI, Auflisten von Inhalten Options -ExecCGI -Includes -Indexes # Ausfuehren von php unterbinden php_flag engine off php_flag engine off

[10]

 Laden Sie nach dem Speichern dieser Änderung die „.htaccess“ wieder in den Upload-Ordner auf dem Server und prüfen erneut, ob hochgeladene Fotos jetzt angezeigt werden. (Vorheriges leeren des Browser-Cache nicht vergessen!) Machen Sie sich über entsprechende FAQ, E-Mails, Anrufe o.ä. bei Ihrem Provider schlau, was bei Ihrem Hostingpaket möglich ist und was nicht.

Testen Sie, ob die hochgeladene „.htaccess“ macht, was sie soll, in dem Sie z.B. folgendes in Ihren Browser eingeben: http://www.Ihre-Domain.de/Ihr-Gästebuchordner/img_guest/index.php … Es sollte dann in Ihrem Browser ein „HTTP-403-Fehler" angezeigt werden, in etwa mit dem Inhalt: “Forbidden You don't have permission to access ... on this server." Wenn das der Fall ist und hochgeladene Fotos angezeigt werden, funktioniert es ordnungsgemäß. Sollten Sie keine .htaccess-Dateien nutzen können und womöglich auch noch gezwungen sein, den im vorherigen Abschnitt beschriebenen Ordnern „backup", „smilies" und „img_guest" die CHMOD Rechte 0777 zuweisen zu müssen, rate ich dringend dazu => a)

in den „Allgemeinen Konfigurationseinstellungen" im Admin-Bereich des Gästebuchs die Option: „Bilder in Gästebucheinträgen anzeigen, Foto-Upload aktivieren" zu deaktivieren und

b)

in den „Allgemeinen Konfigurationseinstellungen" im Admin-Bereich des Gästebuchs die Option: „BackUp nach dem Versand per E-Mail wieder vom Server löschen?" zu aktivieren und

c)

den Anbieter zu wechseln, und zwar nicht nur wegen diesem Gästebuch-Script, sondern weil er offensichtlich mit seinem Angebot noch hinter dem Mond lebt.

4. Änderungen gegenüber den Gästebuch-Versionen ≤ 3.2.1 -----------------------------------------------------------------------------------Von den teils erheblichen und zahlreichen Änderungen in diesem Paket zu den myPHP Guestbook-Versionen ≤ 3.2.1 sind nachfolgend zumindest die wichtigsten dargestellt.  Sämtliche php-Dateien wurden auf die PHP-Erweiterung „MySQLi" umgestellt. Eine Umstellung auf PDO oder eben MySQLi war notwendig, da die bisherigen Funktionen in der Art „mysql_*" seit PHP 5.5 „deprecated", also veraltet sind und mit PHP 7 ganz verschwunden sind. Ob die notwendige MySQLi-Unterstützung auf Ihrem Webspace verfügbar ist bzw. von Ihrem Hoster bereitgestellt wird, wird sowohl durch die beigefügte Install-Datei wie auch durch die Datenbank-Update-Datei automatisch geprüft. Wer möchte, kann dies mit dem bekannten „phpinfo()“ auch zuvor abklären.

[11]  Der HTML-Quelltext und die CSS wurden für die beiden öffentlichen Seiten zur Anzeige und zum Eintrag von Gästebucheinträgen auf die Erfordernisse für das sogen. „responsive Webdesign“ umgeschrieben, was eine vom Endgerät abhängige automatische Größenanpassung bedeutet (v.4.5.0); mehr unter Abschnitt 11.  Eine Foto-Upload-Funktion ist neu hinzugekommen (v.4.4.0); mehr unter Abschnitt 5.  Eine Zitier-Funktion wurde neu eingefügt (v.4.4.0); mehr unter Abschnitt 6.  Der Spamschutz wurde erheblich ausgeweitete und weiter verbessert (v.4.0.0). Weiteres hierzu im Abschnitt 7.  Auf der Eintragsseite („insert.php“) gibt es umfangreiche weitere Änderungen sowohl programmtechnischer, wie auch optischer Art, inklusive der ab v.4.6.0 eingefügten Möglichkeit, Eingaben zur Herkunft des Gastes zu tätigen.  Das Gästebuch kann ab v.4.6.2 auch als Blog, Reisetagebuch o.ä. betrieben werden, sodass nur noch der Admin dort Einträge und Fotos einstellen kann, das Formular für neue Einträge für die Öffentlichkeit im WWW jedoch nicht mehr erreichbar ist.  Die E-Mail, die an den Admin bei einem neuen Eintrag geschickt wird, enthält jetzt einen Link für eine „1-Klick-Deaktivierung" eines Eintrags, ebenso wie einen Link zu einer „1-Klick-Aktivierung" bei programmmäßig gesperrten Einträgen (hierzu unten mehr). Mit diesem Aktivierungslink werden auch ggf. in einem Beitrag eingestellte Fotos zur Ansicht freigeschaltet.  Der Admin-Bereich wurde erweitert, umgestaltet und gegen unberechtigte Logins besser geschützt.  Backup-Dateien bleiben -bis zu einer Anzahl von 3 Stück- im entsprechenden Ordner auf dem Server liegen, gegen unberechtigten Download oder unerwünschte Einsichtnahme geschützt mit einer entsprechenden „.htaccess“-Datei (ist im Paket enthalten). Die über das Limit von drei hinausgehenden BackUps werden automatisch gelöscht. Seit der myPHP Guestbook Version 4.5.4 werden zusätzlich zu den Gästebucheinträgen auch die Daten von Foto-Uploads in der Tabelle „*_pictures“ mit gesichert. Zur Wiederherstellung beschädigter oder verlorener Einträge im Gästebuch kann dann die gewünschte BackUp-Datei durch einen Klick bestimmt und direkt vom Server genutzt werden, was letztlich beinhaltet, dass dies auch von unterwegs geht und nicht nur Zuhause am heimischen Rechner. Als weitere Sicherheit wird zusätzlich eine Kopie des BackUps an den Admin per EMail verschickt.  Falls Ihr Website-Hoster die Nutzung von „.htaccess“-Dateien nicht zulassen sollte, so dass die auf dem Server liegenden BackUp-Dateien nicht vor dem Zugriff Dritter geschützt werden können, ist es möglich und wird dringend empfohlen, die Speicherung der BackUps auf dem Server durch eine entsprechende Einstellung auf der Seite „Allgemeinen Konfigurationseinstellungen" zu unterbinden; dann muss auf

[12] die per E-Mail verschickten BackUps im Notfall zurückgegriffen werden (und Sie sollten den Provider wechseln). Die Voreinstellung nach der Installation dieses Updates ist zunächst auf: „BackUps auf dem Server speichern".  Seit v.4.5.4 werden zehn unterschiedliche Templates, zugeschnitten auf XHTML strict, zusammen mit ebenfalls zehn hierauf abgestimmten CSS-Styles mit installiert und können anschließend frei gewählt, verändert oder durch selbstgefertigte Styles ergänzt werden…  … und vieles mehr. Eine vollständige Auflistung aller Änderungen finden Sie hier: :

Einige dieser Änderungen bedingen gegenüber den älteren Versionen < 4.x zusätzliche Datenbank-Tabellen bzw. zusätzliche Spalten in bereits angelegten Tabellen, sodass für schon vorhandene Installationen eine neue „Datenbank-Update-Datei" in das Installer-Script integriert wurde. Lesen Sie bei einem Update bitte auch die dem Download-Paket beigefügt „ReadMeUpdate“. Selbstverständlich ist mit dem Installer auch eine erstmalige oder aus anderen Gründen gewünschte komplette Neuinstallation des Gästebuchs möglich. Ich freue mich, wenn Sie das Gästebuch weiterempfehlen!

5. Foto-Uploads -------------------------------------------------------------------------------------------------Bis Version 4.3.x konnten Bilder in Gästebucheinträgen nur eingestellt werden, wenn sie verlinkt wurden, also irgendwo, sei es bei einem der vielen Fotoportale, sei es auf dem eigenen Webspace des Gastes oder wo auch immer, bereits online gestellt waren. Das hatte eine Reihe von Nachteilen insbesondere auch haftungsrechtlicher Natur und weil erfahrungsgemäß diese Fotos dort, von wo sie verlinkt werden, über kurz oder lang wieder verschwinden und dann im Gästebuch recht unschöne „Lücken" hinterlassen. •

Mit der ab Version 4.4.0 bereitgestellten Upload-Funktion kann ein Gast Fotos vom eigenen Rechner in einen Ordner auf dem Webspace, auf dem sich auch das Gästebuch-Script befindet, hochladen, die dann im Gästebuchbeitrag angezeigt werden. Da diese Dateien anschließend auf dem eigenen Webspace liegen, können sie nicht mehr einfach von dritter Seite unkontrolliert gelöscht werden.



Damit nicht über Nacht irgendwelche anstößigen Bilder eingestellt werden, wurden zwei Sicherheitsschranken eingepflegt: o

Der Admin bekommt automatisch jedes Mal, wenn ein Foto hochgeladen wird, eine E-Mail mit dem hochgeladenen Bild zur sofortigen Kontrolle übermittelt. (Diese Mail

[13] kommt, sobald die Upload-Funktion vom Admin freigeschaltet wurde, aus Sicherheitsgründen immer, unabhängig von den sonstigen E-Mail-Einstellungen.) o

Hochgeladene Fotos können vom Gast zwar in der Eintragsvorschau sofort betrachtet werden, sind aber nach dem Speichern des Beitrags zunächst noch für die Öffentlichkeit unsichtbar. Es wird stattdessen ein Platzhalter im Beitrag angezeigt mit dem Hinweis, dass ein dort eingestelltes Bild vom Admin erst freigeschaltet werden muss. Sobald der Admin sich über die ihm übermittelte E-Mail mit der hochgeladenen Datei von deren Unbedenklichkeit überzeugen konnte, kann er ebenfalls mit einem Klick auf den Link in der gesonderten Mail über den Hinweis auf einen neuen Gästebucheintrag das Bild freischalten. Ein vorheriges Einloggen in den AdminBereich ist nicht notwendig. Voraussetzung ist lediglich, dass die Upload-Funktion und die Funktion „Admin per E-Mail von neuem Gästebucheintrag informieren" in den Allgemeinen Konfigurationseinstellungen aktiviert wurden. Ggf. vom Admin in einen Kommentar zu einem Gästebucheintrag eingefügte Fotos oder vom Admin in einem im Admin-Control-Panel neu verfassten Eintrag eingefügte Bilder sind auch ohne Freigabe sofort öffentlich sichtbar. Die Notwendigkeit einer Prüfung und Freigabe jedes hochgeladenen Bildes durch den Admin vor dessen Anzeige im Gästebuch kann im Einzelfall deaktiviert werden. Für weitere Einzelheiten hierzu siehe unten Abschnitt I.12.



Weitere Features: o

Je nach Einstellung in der „php.ini“ können Dateien bis zu 5 MB hochgeladen werden. Im Admin-Bereich kann diese Grenze selbstverständlich auch niedriger bis auf 1 MB reduziert werden. Die Voreinstellung nach der Installation ist 2 MB.

o

Hochgeladene Fotos werden automatisch in der Größe angepasst! Im AdminBereich können hierzu die gewünschte maximale Breite und Höhe des Fotos festgelegt werden. Die hierbei größte einstellbare Bildbreite wird vom Programm automatisch nach dem vom Admin gewählten Template bzw. der eingestellten Breite des Gästebuchs ermittelt und angezeigt, so dass es gleichgültig davon, wie groß das hochgeladene Foto ist, keine Probleme mit dem Layout des Gästebuchs gibt.

o

Die Bildqualität von JPG-Dateien (und damit letztlich auch die anschließende Ladezeit) kann genauso individuell im Admin-Bereich zwischen 10 und 100% eingestellt werden.

o

Die maximale Anzahl von Foto-Uploads, die ein User vornehmen und in seinen Gästebucheintrag einstellen kann, kann seit v.4.5.3 im Admin-Bereich individuell zwischen „1“ und „10“ festgelegt werden. Die Voreinstellung nach der Installation ist „2“.

[14]



o

Da der Admin-Bereich unabhängig von der Einstellung zum öffentlichen Bereich des Gästebuchs eine feste Größe hat, werden die Fotos für die Anzeige im Backend noch einmal gesondert passend skaliert.

o

Der Gast kann nach dem Hochladen des Bildes eine kurze Bildbeschreibung, einen „Titel", eingeben, die beim späteren Überfahren des eingestellten Fotos mit der Mouse eingeblendet wird.

Sicherheit der Upload-Funktion: o

Es können ausschließlich Dateien im Format JPG und PNG hochgeladen werden, alle anderen Dateien sind gesperrt, was durch mehrere, voneinander unabhängige Untersuchungen vom Programm geprüft wird.

o

Das, was später im Ordner mit den Gästebuchbildern abgelegt wird, ist stets eine -in Größe und Qualität angepasste- Kopie der hochgeladenen Datei; das Original wird nach Fertigung der Kopie umgehend wieder gelöscht. Bei dem serverseitigen Kopiervorgang wird etwaiger Schadcode im EXIF-Header eines Bildes entfernt.

o

Die Datei bekommt serverseitig automatisch einen komplett neuen Namen inkl. Dateiendung zugewiesen.

o

Zum weiteren Schutz ist eine „.htaccess“-Datei im Upload-Ordner für die Gastfotos enthalten.  Ergänzend hierzu sie die Hinweise oben in Abschnitt 3.4.

o

Sollte bei Ihrem Webspace kein GD-Support durch den Provider zur Verfügung gestellt werden, ist das Programm so eingerichtet, dass sich die Funktion „FotoUpload" in den allgemeinen Konfigurationseinstellungen nicht aktivieren lässt.

o

Ich halte die Foto-Upload-Funktion für so sicher, dass ich sie selbst in meinen Projekten verwende, ohne schlaflose Nächte zu bekommen. Seien Sie sich jedoch bewusst, dass es absolute Sicherheit beim Upload von Dateien durch beliebige Dritte nie geben kann. Daher gilt auch hier wie bei dem ganzen Gästebuch-Script, dass jegliche Haftung meinerseits für einen eventuellen Missbrauch ausgeschlossen ist! Wer das nicht akzeptieren kann oder will, muss den Foto-Upload entsprechend der Voreinstellung deaktiviert lassen.

o

Für die Nutzung der Foto-Upload-Funktion müssen in den allgemeinen Konfigurationseinstellungen im Admin-Bereich sowohl BBCodes freigeschaltet werden, wie auch die zweite Option: „Bilder in Gästebucheinträgen anzeigen, Foto-Uploads aktivieren“ gewählt werden.

Nach der Installation des Gästebuchs ist die Voreinstellung zunächst auf „BBCodes: ja“ und „Fotos anzeigen und hochladen: Nein“.

[15] Achtung: Sie haften als Websitebetreiber für alle Inhalte auf Ihrer Website. Das gilt nicht nur für Texte, sondern selbstverständlich auch für dort veröffentlichte Bilder. Falls Sie z.B. Anhaltspunkte dafür haben, dass es sich bei einem hochgeladenen/eingestellten Foto um eine unerlaubte Kopie aus dem Internet oder woher auch immer handelt, also ein Urheberrechtsverstoß erfolgte, sind Sie verpflichtet, das Foto umgehend zu löschen. Sollte einmal ein Foto hochgeladen worden sein, das Sie als Admin wegen eines von ihnen als kritisch/rechtswidrig eingestuften Inhalts nicht freischalten, sollte die Datei gelöscht werden, auch um Fremdverlinkungen zu vermeiden! Vergleichbares gilt für kritische Fotomotive, wie z.B. gewaltverherrlichende, rassistische, obszöne/pornografische o.ä. rechtswidrige Darstellungen/Inhalte. Seien Sie vorsichtig, wenn Fotos eingestellt werden, die deutlich erkennbare Gesichtszüge von Personen zeigen. (Haben diese einer Veröffentlichung im Web zugestimmt?) Bilder, die wiedererkennbare Kinder zeigen, sollten nie freigeschaltet, sondern aus Beiträgen entfernt werden.

6. Zitier-Funktion -------------------------------------------------------------------------------------------------Ebenfalls in den Konfigurationseinstellungen gesondert deaktivierbar ist die neue ZitierFunktion. Diese Funktion ist auch nutzbar bei ansonsten deaktivierten BBCodes. Wird dieses Feature nicht gesperrt, wird bei jedem Gästebucheintrag, gleichgültig ob „alt" bzw. schon vorhanden oder erst neu verfasst, ein verlinktes „Zitat"-Symbol eingeblendet. Nach dem Anklicken wird der gewählte Eintrag als Zitat mit Hinweis auf Verfasser sowie Datum und Zeit des Eintrags in das Formular für einen neuen Gästebucheintrag übernommen zur komfortablen, eindeutigen Beantwortung oder Diskussion. Mehrfach Zitate (Zitat in Zitat in Zitat usw.) sind nahezu unbeschränkt möglich. In einem zitierten Beitrag ggf. enthaltenen Fotos werden zur Erhöhung der Ladefreundlichkeit, zur besseren Übersicht und Platzersparnis herausgefiltert und im Zitat nicht mit angezeigt. Auch ggf. zu einem Beitrag vorhandene Admin-Kommentare werden nicht mit zitiert. Nach der Installation des Gästebuchs ist die Voreinstellung zunächst auf: „Zitierfunktion: ja“. Im sogen. „Blog-Modus“ des Gästebuchs (neue Einträge nur durch den Admin über das Admin-Control-Panel) wird die Zitatfunktion automatisch deaktiviert bzw. lässt sich nicht aktivieren.

7. Wie arbeitet der Spamfilter und was kann man daran steuern? -------------------------------------------------------------------------------------------------Der Spamschutz in den Versionen bis 3.x hat sich ausschließlich auf die Überwachung eines Kontroll-Merkmals gestützt und war damit recht erfolgreich. Aber ich hatte auch Meldungen

[16] von Nutzern, wo er eben nicht gereicht hat und teilweise täglich mehrere Spameinträge eingingen. Der neue Spamschutz verarbeitet sowohl die bisherige, erfolgreiche Methode wie auch eine Reihe weiterer Prüfungen, von denen die Prüfung auf kritische Schlüsselwörter, von mir als „Spamwörter“ bezeichnet, wiederum nur ein Aspekt ist. (Der Filter kann bei Bedarf zukünftig leicht ausgebaut werden.) Wer an den Einzelheiten interessiert ist, mag sich den Quellcode der entsprechenden Datei anschauen, für den „normalen“ User ist hierbei m.E. folgendes zum besseren Handling wichtig zu wissen: Der Spamfilter arbeitet mit einem System von „Strafpunkten“. D.h. er erfasst bestimmte typische Merkmale für Spam und vergibt dann dafür Punkte. So wird z.B. jeder Eintrag beim Klick auf den Speichern-Button nach Spamwörtern aus der Liste durchsucht und bei jeder Übereinstimmung wird jedes erkannte Spamwort mit je einem Strafpunkt gewertet. Auch die in einem Beitrag enthaltenen Links werden gezählt und beim Überschreiten einer (einstellbaren) Höchstgrenze mit je einem (weiteren) Strafpunkt belegt. Diese und eine Reihe weiterer Prüfungen vollzieht der Spamfilter automatisch, wobei manche Spammerkmale, wie z.B. der bisherige Spamschutz, dabei auf einen Schlag mit 5 Punkten belegt werden, andere eben nur mit 1 Punkt, je nach Erheblichkeit. (So ist z.B. nicht jeder Beitrag, in dem das Wort „Viagra“ vorkommt, immer Spam.) Zum Schluss werden alle Strafpunkte addiert. Wenn nun die Summe der Strafpunkte bestimmte Grenzen übersteigt, wird unterschieden:  Beim Überschreiten der Höchstgrenze wird der Beitrag sofort verworfen, also gar nicht erst gespeichert. Die IP des Absenders wird gespeichert und für einen sofortigen erneuten Aufruf der Eintragsseite gesperrt. Es geht eine E-Mail an den Admin, in der neben dem verworfenen Eintrag die Anzahl der vom Programm ermittelten „Strafpunkte“ und die Kriterien, aus denen die einzelnen „Strafpunkte“ gebildet wurden, mitgeteilt werden.  Wenn das Programm zwar „Strafpunkte“ durch Spam-verdächtige Inhalte ermittelt, diese aber in der Summe nicht die kritische Höchstgrenze erreichen, wird der Beitrag in der Datenbank gespeichert, aber als „Deaktiviert“ markiert. D.h., der Beitrag ist zwar vorhanden, aber zunächst im öffentlichen Bereich nicht sichtbar. Es geht erneut eine E-Mail an den Admin mit dem Inhalt des Beitrags, den ermittelten „Strafpunkten“ und deren Ursache(n), sowie einem Link zur eventuellen Freischaltung des gesperrten Beitrags per E-Mail.  Werden keinerlei Spammerkmale festgestellt, bleibt alles wie gehabt: der Beitrag wird normal gespeichert und ist –je nach Einstellung in der Konfigurationsdatei- entweder sofort freigegeben oder auch zunächst gesperrt, ganz nach Ihren Vorgaben. Wie üblich geht auch in diesem Fall eine E-Mail mit dem Inhalt des Beitrags an den Admin (es sei denn, Sie haben diese Funktion ausdrücklich abgeschaltet), die jedoch

[17] vorsorglich auch einen Link zur „Fernsperre“ des veröffentlichten Beitrags per E-Mail hat.  Die oben angesprochene „Höchstgrenze“ an zulässigen „Strafpunkten“, die nicht überschritten werden darf, kann in den Konfigurationseinstellungen des AdminBereichs im Bereich zwischen „1“ als Mindestwert und „20“ als Höchstwert von Ihnen selbst festgelegt werden. – Nach der Installation ist die Voreinstellung zunächst „5“. Die ebenfalls erwähnte „Höchstgrenze“ an unverdächtigen Links in einem Beitrag kann genauso in den Konfigurationseinstellungen des Admin-Bereichs im Bereich zwischen „0“ (= jeder Link ist verdächtig) und maximal „20“ von Ihnen bestimmt werden. – Nach der Installation ist die Voreinstellung zunächst „2“.  Die Prüfung eines Eintrags auf Spamwörter und die Prüfung der Anzahl im Textbeitrag eingestellter Links können vollständig abgeschaltet werden. Wenn alle Spamwörter in der Liste gelöscht werden, wird die Funktion „Eintrag auf Spamwörter prüfen“ automatisch deaktiviert. Werden dann zu einem späteren Zeitpunkt wieder ein oder mehrere Spamwörter in die Liste eingetragen, bitte nicht vergessen, die Spamwort-Prüfung in den Konfigurationseinstellungen wieder zu aktivieren. Eine entsprechende Warnung wird auf der Seite mit den Spamwörtern angezeigt.  Der Spamschutz ist grundsätzlich nicht dafür vorgesehen, vollständig deaktiviert zu werden. Ausnahmsweise ist dies im Einzelfall dennoch möglich. Für weitere Einzelheiten hierzu siehe unten Abschnitt I.12.  Ein paar Tipps noch zum Schluss: Groß- und Kleinschreibung sind für die Prüfung eines Beitrags auf Spamwörter dann gleichgültig, wenn das Schlüsselwort in der entsprechenden „Spamwort-Liste“ kleingeschrieben gespeichert wird; wird es dort großgeschrieben eingetragen, wird es im zu überprüfenden Text nicht als Übereinstimmung gefunden werden. Also stets alles kleingeschrieben in der Spamwort-Liste abspeichern. Außerdem wird ein „normal“ in die Liste eingetragenes Spamwort im Beitrag eines Gastes ebenso erkannt, wenn es nur ein Teil eines Wortes ist. Wenn also z.B. „sex“ als Schlüsselwort in der Spamwortliste vorhanden ist, erkennt das Programm im Text: „Der Peter wurde ausgezeichnet als Sexiest Man Alive, dabei ist er genauso sexy wie Rumpelstilzchen und Sex hatte er noch nie.“ … drei Spammerkmale und vergibt drei Punkte, egal ob „sex“ im Text groß- oder kleingeschrieben und einmal nur als Teil eines Wortes bzw. mit angehängtem „y“. Wer das im Einzelfall verhindern möchte, trägt das Schlüsselwort in die Liste jeweils mit einem Leerzeichen davor und dahinter ein, also (natürlich ohne die Anführungszeichen): „ sex “. Dann wird auch nur exakt danach gesucht. Aber Obacht, auch hier gilt: erst denken, dann handeln! – Wenn ein Wort mit Leerzeichen davor und dahinter in die Liste aufgenommen wird, kann es nicht erkannt werden, sobald es

[18] am Satzanfang ( keine Leerzeichen davor) oder am Satzende ( Punkt am Ende  kein Leerzeichen danach) steht. Sie haben seit Version 4.5.5 die Möglichkeit, Spamwörter mehrfach in die SpamwortListe einzutragen, wodurch diese Wörter dann eine höhere Gewichtung erfahren. Beispiel: Wird das Wort „sex" zweimal in der Spamwortliste abgespeichert und ein Gästebucheintrag enthält einmal das Wort „Sex", werden durch den doppelten Eintrag in der Spamwort-Liste dennoch sofort zwei „Strafpunkte" erfasst. Taucht das Wort zweimal im Beitrag auf, werden also gleich vier „Strafpunkte" ermittelt usw... Die Linkprüfung lässt die in der entsprechenden Spalte eingegebene Homepage des Besuchers unberücksichtigt und prüft nur Eingaben im Textfeld. – Ich darf in diesem Zusammenhang den bereits oben erteilten Hinweis wiederholen, dass Links in Beiträge ohnehin nur bei aktivierten BBCodes und unter Nutzung der entsprechenden Eingabemaske eingegeben werden können. Verwaltung der IP-Sperrliste: Die Spambots arbeiten i.d.R. mit dynamischen, d.h. wechselnden IPs. Die Sperre wirkt also nur eine begrenzte Zeit, bis der Robot über eine andere IP wiederkommt, weshalb es meist keinen Sinn macht, die gesperrten IPs dauerhaft zu speichern, zumal mit einer zu langen Liste irgendwann die Performance leiden würde. Daher werden die IPs in der Sperrliste mit jedem Aufruf der insert.php auf ihr Alter geprüft und nach 7 Tagen automatisch gelöscht. Falls eine IP aus irgendwelchen Gründen länger gespeichert bleiben soll, ist dies möglich durch anklicken des grünen Hakens hinter der betroffenen IP; der Haken wandelt sich dann als Zeichen der dauerhaften Sperre in ein rotes Kreuz. Erneutes anklicken macht den Vorgang rückgängig.

8. Einfügen des myPHP Guestbook in die Website mit PHP -----------------------------------------------------------------------------------------------Aus den Berichten einiger User wurde ersichtlich, dass es immer wieder zu Problemen kommt, wenn weniger erfahrene Nutzer versuchen, das Gästebuch über die PHP-Funktion „include“ einzubinden. Um dies zu vereinfachen, wurde ein gesondertes Paket mit einigen angepassten Dateien und zwei Demo-Seiten zusammengestellt, das ebenfalls unter heruntergeladen werden kann. Die Dateien in diesem „include“-Paket können jedoch nicht ohne weiteres für die Einbindung in CMS oder allgemein für Homepages verwendet werden, deren Struktur so aufgebaut ist, dass nur eine „index“-Seite existiert, in die dann die verschiedenen Inhalte z.B. mit einem „switch“-Schalter per „include“ o.ä. eingebunden wird. Für Näheres siehe die dem „include“Download beigefügte entsprechende „ReadMe_include.pdf“.

9. Änderungen bei der Schriftfarbe, den Hintergründen, Ausrichtung des Gästebuchs auf der Website (Rechts-Links-Mittig), Breite des Gästebuchs, Symbole (Icos) u.a. ------------------------------------------------------------------------------------------------------------------------Um die Schriftfarbe, die (maximale) Breite des Gästebuchs, die Ausrichtung des Gästebuchs, Hintergrundfarben oder die Symbole für Homepage und E-Mail Adressen im öffentlichen Bereich der Gästebucheinträge zu ändern, müssen keine Änderungen in der

[19] CSS vorgenommen werden. Dies geht kinderleicht unter dem Link „Template editieren“ im Admin-Bereich durch Eingaben in die dortigen Eintragsfelder. Einige Beispiele, wie, Sie individuelle Änderungen am Layout des Gästebuchs per CSS selbst ausführen können, finden Sie in unter dem Link „Hilfe“ im Admin-Control-Panel nach der Installation des Scripts.

10. Häufige CSS-Fehler und deren Vermeidung -----------------------------------------------------------------------------------------------Die mit Abstand häufigsten Probleme bei der Verwendung des Gästebuchs ergeben sich nach meiner Beobachtung und dem Feedback aus dem Userkreis durch Fehler bei der Formatierung im Zusammenhang mit der falschen Nutzung von CSS. Hierzu folgende Hinweise:  Die grundlegenden Styles, die i.d.R. nicht geändert werden müssen, sind in der externen Datei „gbook.css“ erfasst, die Formatierungsanweisungen, bei denen erfahrungsgemäß öfter ein Bedürfnis nach individueller Anpassung besteht oder die auf Besonderheiten des eingestellten Template beruhen, können über das AdminPanel im Block „CSS: Style editieren“ geändert werden. Achtung: Für eine Anpassung der grundlegenden Einstellungen von Hintergrundfarben für die ganze Gästebuchseite und die Gästebucheinträge, für die Schriftfarbe, die maximale Breite des Gästebuchs und dessen Ausrichtung auf der Website, sollte und braucht der CSS-Code nicht geändert zu werden; diese Einstellungen können schnell und einfach unter dem Link: „Template editieren“ vorgenommen werden (siehe vorherigen Abschnitt 9.).  Wenn Sie nach der Installation das Template wechseln, um eine andere, Ihnen besser gefallende Darstellung der Gästebucheinträge passend zu Ihrer Homepage zu erreichen, denken Sie bitte unbedingt daran, auch den zu dem jeweils gewählten Template zugehörigen CSS-Style einzustellen. Ein entsprechender Hinweis wird bei jedem Wechsel eines Template ebenso wie bei jedem Wechsle eines CSS-Style eingeblendet. Die zugehörigen Templates und Styles haben jeweils weitgehend identische Bezeichnungen und können daher nicht verwechselt werden. - Trotzdem ist es wiederholt vorgekommen, dass nur das Template geändert wurde und der User sich anschließend wundert, warum die Seitenabstände nicht mehr passen oder die Icons für Homepage und E-Mail irgendwo erscheinen, nur nicht dort, wo sie sein sollten.  Der Spamschutz arbeitet teilweise ebenfalls mit bestimmten CSS-Styles, die in der externen „gbook.css“ enthalten sind. Wer meint, diese Datei in seinem Projekt nicht einbinden zu müssen, sollte im Interesse einer ordnungsgemäßen Funktion und vollständigen Wirkung des Spamschutzes entweder genau wissen, was er macht oder wirklich alle CSS-Anweisungen aus der dem Paket beigefügten „gbook.css“ in seine eigene CSS-Datei einkopieren. (Auch hier habe ich leider schon anderes beobachten müssen.)  Bei den Templates mit zugehörigen Styles „Black“ sollte es vermieden werden, die eingestellte Hintergrundfarbe zu entfernen bzw. auf transparent zu setzen. Dies ist vereinzelt geschehen bei Websites, die bereits einen sehr dunklen, aber eben nicht schwarzen Hintergrund hatten, offensichtlich mit dem Gedanken, auf diesem Weg eine einfache Identität in der Hintergrundfarbe von Gästebuch und dem Rest der Website herzustellen. – Der richtige Weg ist, unter dem Link „Template editieren“ im

[20] Admin-Panel die Gästebuch Hintergrundfarbe auf den Farbwert zu setzen, der konkret gewünscht wird.  Wer die Dateien aus dem „include“-Paket verwendet, sollte seine eigene(n) CSSDatei(en) VOR den Gästebuch-Styles einbinden; die entsprechende Stelle ist durch einen Kommentar im Quellcode eindeutig gekennzeichnet und bleibt unerklärlicher Weise von einigen Anwendern dennoch unbeachtet.

11. Ein paar Hinweise zum „responsive Webdesign“ (ab v. 4.5.0) -----------------------------------------------------------------------------------------------Eine zeitgemäße Website sollte nicht nur auf Desktop-PCs, sondern auch auf mobilen Endgeräten, sprich Smartphones, optimiert angezeigt werden, was seit Frühjahr 2015 u.a. auch Google in seine Suchparameter einfließen lässt. Von den zur Verfügung stehenden Möglichkeiten zur Umsetzung ist das sogen. "responsive Webdesign" sicher das optimalste Modell. Responsive Webdesign ermöglicht die einheitliche Anzeige einer Website durch flexible Gestaltung des Layouts, so dass die Website sowohl auf einem Desktop-PC, wie auch auf Tablets und Smartphones mit gleichbleibender Benutzerfreundlichkeit dargestellt wird. Das beinhaltet insbesondere automatische Anpassungen in der Breite bis hinunter zu 320px, ggf. Anpassungen in der Schriftgröße und der Anordnung von Links, um horizontales Scrollen zu verhindern und eine Les- und Nutzbarkeit sicherzustellen. Damit auch das myPHP Guestbook diesen Anforderungen gerecht wird, mussten umfangreiche Anpassungen am HTML- Quellcode und den CSS für die Seiten, mit denen die Gästebucheinträge angezeigt und die Einträge vorgenommen werden, erfolgen. Hierbei wurden sämtliche bisherigen Templates beibehalten, womit das optische Erscheinungsbild in der Anzeige der Gästebucheinträge weitestgehend identisch bleibt. Die Eingabe des Admin zur Breite des Gästebuchs ist daher ab v.4.5.0 stets die maximale Darstellungsbreite z.B. auf einem „normalen“ Desktop-PC, die sich je nach Fenstergröße des Browsers automatisch und stufenlos verkleinert bis auf 320px. Wenn das Einstellen von Fotos im Gästebuch freigeschaltet wurde, werden auch Bilder automatisch je nach Endgerät in der Anzeige angepasst. Alle Templates wurden erfolgreich getestet im Firefox, Internet Explorer 7-11, Chrome, Chrome Android, Opera, Safari Windows, Safari IOS und dem Android-Browser.  Einzig beim Template „Wide“ gibt es, sozusagen „konstruktionsbedingt“, eine Einschränkung: Die automatische Verkleinerung von ggf. eingestellten Fotos in Gästebucheinträgen funktioniert derzeit nur im Chrome, Edge, Opera, Safari, Microsoft Edge und dem AndroidBrowser, nicht im IE oder FF. Diejenigen, die die Anzeige von Fotos im Gästebuch ermöglichen möchten, müssen sich daher überlegen, ob sie das Template „Wide“ gleichwohl nutzen oder lieber auf eines der neun anderen Templates ausweichen.  Kann ich die Vorteile der automatischen Größenanpassung auch nutzen, wenn ich das Gästebuch per IFRAME in meine Website einbinde? Grundsätzlich ja, aber: Wenn Ihre Website, in die das Gästebuch eingebunden wird, eine feste (absolute) Breite hat, müssen Sie bei der Einbindung per „iframe" nichts Besonderes beachten, alles bleibt

[21] bzw. wird umgesetzt wie üblich. Da in diesen Fällen die Elternseite, in die das Gästebuch eingebunden ist, in der Größe stets unverändert bleibt, gilt das auch für das Gästebuch. Hat Ihre Website jedoch eine zeitgemäße flexible Breite, sollten Sie, um die Möglichkeiten der automatischen Größenanpassung des Gästebuchs je nach Endgerät vollständig auszunutzen, insbesondere zwei Punkte beachten: o

Die Breite des iframes darf nicht absolut festgelegt werden, sondern nur relativ zum Elternelement. Das bedeutet, dass für das iframe keine Breitenangabe mit px, em oder pt sondern mit % erfolgen sollte; also nicht z.B.: „width:500px" sondern „width:100%" !

o

Das iframe sollte auf der Seite so eingebunden werden, dass es deren volle Breite einnimmt, also ohne irgendeine Navigation oder sonstige Texte o.ä. rechts oder links daneben und allenfalls mit einem Innenabstand (padding) zum Elternelement rechts und links bis zu maximal 5px. Nur dann kann die minimale Breite von 320px auf einem Smartphone erzielt werden !

12. Besondere Konfigurationsmöglichkeiten bei Nutzung des Gästebuchs innerhalb eines zugangsgeschützten, nicht-öffentlichen Mitgliederbereichs. -------------------------------------------------------------------------------------------------------------Der Spamschutz und die Einzelfallprüfung mit anschließender separater Freigabe jedes neu hochgeladenen Bildes durch den Admin sollten grundsätzlich aktiviert bleiben! Gleichwohl sind Fälle denkbar, in denen dies nicht gewünscht oder notwendig ist, z.B. wenn das Gästebuch nur in einem zugangsgeschützten Bereich für namentlich bekannte Mitglieder betrieben wird o.ä.. Der (gesamte) Spamfilter und die Notwendigkeit einer Prüfung und Freischaltung jedes neu hochgeladenen Fotos durch den Admin können daher in besonderen Ausnahmefällen wie folgt deaktiviert werden: Im Ordner „includes" die Datei „functions.inc.php" mit einem Editor öffnen. Oben in der Datei direkt unter den Copyright-Hinweisen sind drei Konstanten definiert. - Die „SPAM_PROTECT" für den Spamschutz und die „PIC_CHECK" für die notwendige Freigabe jedes hochgeladenen Fotos durch den Admin. Je nach dem, was gewünscht ist, die entsprechende Konstante von „true" auf „false" ändern, speichern, Datei neu hochladen, fertig. In den „Allgemeinen Konfigurationseinstellungen" des Admin-Control-Panels wird angezeigt, wenn der Spam-Schutz deaktiviert ist und/oder hochgeladene Grafik-Dateien ohne vorherige Prüfung und Freigabe durch den Admin sofort im öffentlichen Bereich des Gästebuchs angezeigt werden.

II. Sonstiges myPHP Guestbook

1. Bugs ------------------------------------------------------------------------Melden Sie gefundene Fehler der Versionen ab 4.* bitte schnellstmöglich bei dieser Adresse: post „at“ php-guestbook.de, damit die Fehler so bald wie möglich behoben werden können.

[22] 2. Version History ------------------------------------------------------------------------1.0.6 Final 1.1.0 Final 1.2.0 Final 1.3.3 Final 1.4.2 Final 1.5.1 Final 1.6.2 Final 1.7.1 Final 1.8.3 Final 1.9.1 Final 1.9.2 Final 2.0.0 Final 2.0.1 Final 2.0.2 Final 2.0.3 Final 2.0.4 Final 2.0.5 Final

13.03.2004 17.03.2004 25.03.2004 07.04.2004 14.04.2004 06.05.2004 10.06.2004 02.08.2004 20.08.2004 18.09.2004 16.10.2004 06.04.2005 10.04.2006 29.04.2006 06.05.2006 06.05.2006 30.06.2006

3.0.0 Final 3.0.1 Final 3.1.0 Final 3.2.0 Final 3.2.1 Final

24.09.2011 12.02.2012 15.04.2012 21.12.2012 25.10.2014

4.0.0 4.1.0 4.2.0 (MySQLi) 4.2.1 (MySQLi) 4.2.2 (MySQLi) 4.2.3 (MySQLi) 4.3.0 (MySQLi) 4.3.1 (MySQLi) 4.3.2 (MySQLi) 4.4.0 (MySQLi) 4.4.1 (MySQLi) 4.4.2 (MySQLi) 4.5.0 (MySQLi) 4.5.1 (MySQLi) 4.5.2 (MySQLi) 4.5.3 (MySQLi) 4.5.4 (MySQLi) 4.5.5 (MySQLi) 4.5.6 (MySQLi) 4.6.0 (MySQLi) 4.6.1 (MySQLi) 4.6.2 (MySQLi)

Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final Final

Claudio Pose

Claudio Pose

Christian Thomas

10.03.2014 01.04.2014 03.10.2014 28.10.2014 02.11.2014 16.11.2014 28.11.2014 13.12.2014 02.01.2015 21.02.2015 07.03.2015 20.03.2015 01.05.2015 20.06.2015 26.06.2015 18.07.2015 04.09.2015 03.10.2015 02.01.2016 06.02.2016 01.05.2016 03.07.2016

Wolfgang Leverberg

3. Lizenz ------------------------------------------------------------------------myPHP Guestbook steht unter GNU General Public License. Bevor Sie das Gästebuch benutzen, sollten Sie die license.txt durchlesen, da Sie mit der Installation und Benutzung von myPHP Guestbook die GNU General Public License akzeptieren.

[23]

4. Copyright ------------------------------------------------------------------------Es ist nicht gestattet den Copyrighthinweis im Quellcode zu entfernen. Für weitere Informationen sollten Sie die license.txt durchlesen.

5. Credits ------------------------------------------------------------------------Herzlichen Dank an alle, die sich an der Entwicklung von myPHP Guestbook beteiligt haben. Die folgende Liste beinhaltet Personen, die sich auf irgendeine Weise an der Entwicklung von myPHP Guestbook beteiligt haben (soweit bekannt): Claudio Pose (Schweiz) Christian Thomas (Deutschland) admin „at“ westerhost.de Wolfgang Leverberg (Deutschland) post „at“ php-guestbook.de David Vignoni (Italien) [email protected] Turthra Leinir (Dänemark) leinir2002 „at“ hotmail.com Felix Maduakor (Deutschland) felix.maduakor „at“ rub.de

Teile der Datei-Upload Funktionen stammen mit freundlicher Genehmigung von ISP Image Upload und Resize PHP Programm (c) Joachim Patten (ISP), 2013 isp_image_resize Ver.1.5 : Version vom 08.02.2013 Copyright Joachim Patten (ISP)

Teile des Spamfilters stammen von .

[24]

Die Funktion „shortWords" (Originalbezeichnung „MakeBreakable") stammt mit freundlicher Genehmigung von Herrn Werner Rumpeltesz, , angepasst/geändert für die Nutzung unter den Anforderungen des myPHP Guestbook.

myPHP Guestbook v. 2.0.5 Copyright © 2003 - 2006 Claudio Pose myPHP Guestbook v. 3.2.1 Copyright © 2011 - 2014 Christian Thomas myPHP Guestbook v. 4.6.2 (MySQLi) Copyright © 2014 - 2016 Wolfgang Leverberg myPHP Guestbook was an open source project of Networkarea.ch continued http://www.hostonline.de/ continued https://www.php-guestbook.de/

III. BackUp Converter myPHP Guestbook 1. Vorbereitung und Installation des BackUp Converters für myPHP Guestbook ---------------------------------------------------------------------------------------------------------------Voraussetzungen zur ordnungsgemäßen Funktion des BackUp Converters für myPHP Guestbook: • • • •

Apache Server MySQL 5.x PHP 5.5.x oder höher (getestet auch unter PHP 5.6.x und 7.0.x) aktivierte MySQLi Unterstützung

Laden Sie einfach die Datei „converter.php" in die oberste Ebene Ihres myPHP GuestbookOrdners, also genau dorthin, wo sich z.B. auch die Gästebuch-Dateien „index.php", „insert.php", „bbcodes.php" usw. befinden. Damit der Konverter ordnungsgemäß arbeitet, ist vorausgesetzt, dass •

eine Version des myPHP Guestbook 4.1 oder höher installiert ist,



der BackUp-Ordner die Schreibrechte "CHMOD 0755", ggf. "0777“ hat und



das BackUp, das für die Nutzung einer aktuellen Version des myPHP Guestbook angepasst werden soll, auf dem Server im backup-Ordner des Gästebuchs liegt.

[25] 2. Nutzungshinweise BackUp Converter für myPHP Guestbook ------------------------------------------------------------------------------------------Wenn Sie ein Backup der Gästebucheinträge unter einer Version kleiner als 3.x erstellt haben und in einer Version größer/gleich 3.x hieraus Beiträge wieder herstellen möchten, funktioniert das zunächst einmal nicht, weil in den neueren Versionen ein anderer Prefix für die Gästebuchtabellen in der Datenbank genutzt wird. In den Versionen 2.x wurde standardmäßig der Prefix „myphpgb" verwendet, ab Version 3.0.0 lautet der Prefix „guestbook“. Für eine einfache Lösung des Problems wurde dieses kleine Tool geschrieben. Laden Sie die Datei „converter.php" auf den Server hoch, wie oben beschrieben, und surfen Sie im Browser zu http://www.Ihre-Domain.de/Ihr-Gästebuchordner/converter.php. Sofort nach dem Aufruf der Seite wird geprüft, ob eine backup-Datei im Format „sql“ im Ordner „backup“ des Gästebuchs vorhanden ist. Das Ergebnis wird angezeigt. Falls Sie vergessen haben, eine entsprechende Datei in den „backup“-Ordner hochzuladen, bitte jetzt nachholen und anschließend Seite über den entsprechenden Button neu laden. Sie sehen dann verschiedene Eingabemasken mit entsprechenden Beschreibungen und Vorbelegungen. Die Vorbelegungen orientieren sich daran, was bei einer Installation und Verwendung des myPHP Guestbook ohne weitere Änderungen in der Struktur der Ordner und der Dateinamen zu erwarten ist. Sollten Sie aber z.B. -aus welchen Gründen auch immer- den Ordner, in dem die BackUpDateien Ihres Gästebuchs abgelegt werden oder gespeichert sind, umbenannt haben, können Sie die von Ihnen verwendete Bezeichnung im entsprechenden Eingabefeld vermerken bzw. ändern. Vergleichbares gilt für die Bezeichnung der BackUp-Datei, dem alten, zu ändernden Namen der Datenbanktabelle, in der sich laut BackUp-Datei die Einträge befinden und der neuen Tabelle, in die die Einträge aus dem BackUp eingespielt werden sollen. Schließlich können Sie, falls gewünscht, Ihre E-Mail Adresse im entsprechenden Feld eintragen, es wird dann nach dort eine Kopie des konvertierten BackUps geschickt. Nachdem Sie auf den entsprechenden Button zur Konvertierung des BackUps geklickt haben, wird eine neue BackUp-Datei geschrieben, im BackUp-Ordner Ihres Gästebuchs auf dem Server gespeichert und in die BackUp-Liste der Datenbank aufgenommen. Die alte BackUp-Datei bleibt erhalten bzw. wird zumindest durch die Verwendung dieses Tools nicht gelöscht oder überschrieben. Sie können dann im Admin-Bereich Ihres Gästebuchs den Link „BackUp-Liste" anklicken und sehen dort den Namen der neuen Datei „backup_new.sql". Anklicken und zur Wiederherstellung verwenden, fertig.  Sobald der Konverter nicht mehr benötigt wird, sollten Sie ihn aus Sicherheitsgründen wieder vom Server löschen.

[26] 3. Sonstiges BackUp Converter für myPHP Guestbook ------------------------------------------------------------------------------------3.1. Copyright, Lizenz myPHP Guestbook BackUp Converter V. 1.0.3 © 2014 - 2016 Wolfgang Leverberg, myPHP Guestbook BackUp Converter steht unter GNU General Public License, Version 3 der License. Bevor Sie den BackUp Converter benutzen, sollten Sie die „license.txt“ durchlesen, da Sie mit der Installation und Benutzung von myPHP Guestbook BackUp Converter die GNU General Public License akzeptieren. 3.2. Kontakt BackUp Converter myPHP Guestbook wurde geschrieben von Wolfgang Leverberg, Martin-Luther-Str. 46, 42853 Remscheid https://www.php-guestbook.de - post at php-guestbook.de

Remscheid, im Juli 2016

[27]

IV. Anhang: Beispiel zur Einbindung des myPHP Guestbook per iframe in eine Website: 1. Zwischen den beiden Tags und folgenden blau markierten Code einfügen: ...

iframe{height:1500px;width:100%;border:none;margin:0;} var framefenster = document.getElementsByTagName("iframe"); var auto_resize_timer = window.setInterval("frameResize()", 500); function frameResize(){ for(var i = 0; i < framefenster.length; ++i) {if(framefenster[i].contentWindow.document.body) {var framefenster_size = framefenster[i].contentWindow.document.body.offsetHeight; if(document.all && !window.opera) {framefenster_size = framefenster[i].contentWindow.document.body.scrollHeight;} framefenster[i].style.height=(framefenster_size+100)+'px';}} } ... Der über dem Javascript einzufügenden CSS-Code sorgt dafür, dass bei Usern, die Javascript deaktiviert haben, das inline-Frame mit einer Höhe von 1500px und der vollen zur Verfügung stehenden Breite (=100%) dargestellt wird. Bitte keine absolute Breite für das IFrame festlegen, immer relativ zum Elternelement; also nie: „width: 500px;“ sondern immer: „width: 100%;“. Das anschließende Javascript passt bei allen anderen Usern die Fensterhöhe automatisch dem vorhandenen Inhalt an. Einzige Bedingung: die eingebundene Seite muss auf derselben Domain liegen.

2. Zwischen den beiden Tags und folgenden blau markierten Code einfügen: ...(Navigation, Überschrift )...

Ihr Browser unterstützt keine Inline Frames. Bitte klicken Sie auf nachfolgenden Link, um den Seiteninhalt der externen Seite zu betrachten ... myPHP Guestbook ...

[28] Die rot markierten Stellen sind durch die individuellen Bezeichnungen des Gästebuchordners und der eigenen URL zu ändern. Das JS für die automatische Höhenanpassung stammt übrigens (geringfügig geändert) von hier: http://www.professorweb.de/javascript-ajax/iframe-hohe-an-dessen-inhalt-automatischanpassen.html

Wenn Sie auf Ihrer Website ohnehin „jquery“ benutzen, gibt es hierzu ebenfalls ein passendes Plugin namens: „jquery-iframe-auto-height“, das das gleiche bewirkt, nur (gefühlt) etwas schneller. – Ich nutze das selbst auf meiner Demoseite, musste dort aber eine Anpassung vornehmen, weil sonst die unteren rd. 20px des eingebundenen Inhalts abgeschnitten wurden. Auf Nachfrage stelle ich die angepasste Datei gerne zur Verfügung.