Tipps, Hinweise und Tricks zum beliebten Gästebuch: Basiswissen zum „Modern Guestbook“
Fast viereinhalb Jahre Entwicklungszeit sind beim Modern Guestbook [1] vergangen. Inzwischen zählt es weit über 100.000 Downloads. Neben zahlreichen Bug- und Securityfixes sind auch einige wichtige Features gegenüber der Ursprungsversion hinzugekommen:
- Spamschutz
- Flexibles Layout durch XHTML-Templates und CSS
- Caching
- E-Mail-Benachrichtigung/ Freigabe-Mechanismus durch den Administrator
- Teaser
- Eingabevalidierung der E-Mail und der Homepage
- Freie Wahl der Pflichtfelder
- Whitelist, Blacklist
- Mehrsprachigkeit
- Captcha All Inclusive
Bei einem „Captcha“ handelt es sich um einen Text, der durch einen Bildfilter verzerrt als gerendertes Bild dargestellt wird. Es soll den Spam-Bots erschweren, massenweise Werbeeinträge in ein Gästebuch einzutragen. Schließlich leiden insbesondere Gästebücher unter dem Ruf, leicht angreifbar zu sein. Daher sind sie oft die ersten Ziele von Spammer-Angriffen.
Das Modern Guestbook bietet dafür keinen eigenen Schutz durch Captcha, sondern arbeitet stattdessen sehr effektiv mit den zwei Extensions „captcha“ und „sr_freecap“ zusammen, die diese wichtige Aufgabe übernehmen. Sobald diese beiden Extensions im TYPO3-Backend installiert sind, kann man sie in dem Content-Element auswählen, mit dem das Gästebuch-Formular eingebunden ist.
Spamschutz mit der Extension „captcha“
Das beste Ergebnis liefert die Extension „captcha“ von Kasper Skårhøj, weil nur hier die Möglichkeit besteht, eine eigene TTF-Schrift für die Generierung des Bilds mitanzugeben. Eine veränderte Schrift erhöht die Wahrscheinlichkeit, dass ein Bot das Captcha nicht erkennen kann.
In der Standard-Konfiguration der Extension ist die TTF-Funktionalität deaktiviert. Folgendermaßen wird sie aktiviert:
useTTF: (aktivieren) letterSpacing: 2 Text color: #333333 Font file: typo3conf/ext/captcha/captcha/vera.ttf
Listing 1
Ein für den Besucher sehr nettes, aber bei vielen Spam-Betroffenen sehr umstrittenes Feature bei einem Gästebuch sind HTML-Tags in den Einträgen. Nicht nur Spambots, sondern auch Spammer aus Fleisch und Blut können dadurch ein Gästebuch unfreiwillig in eine Werbeplattform verwandeln. Falls der Administrator des Gästebuchs mit solchen Besuchern zu kämpfen hat, sollten unbedingt die „<a>“-Tags gefiltert werden, um das Einfügen von Links auszuschließen. So funktioniert es:
plugin.tx_veguestbook_pi1 { allowedTags = <b>,<i>,<u>,<strong>,<em> }
Listing 2
Und was ist mit Akismet?
Akismet ist ein Web Service, der von WordPress angeboten wird. Um es nutzen zu können, ist ein „API-Schlüssel“ notwendig, den man kostenlos über die Website von WordPress [2] generieren kann.
Die Funktionsweise dieses Dienstes ist ganz einfach: Es wird ein Text an den Akismet-Service geschickt und zurück kommt das Ergebnis, ob es sich um Spam handelt oder nicht. Da dieser Service sehr beliebt ist und er jede Anfrage intern auswertet und abspeichert, hat die Akismet-Datenbank eine sehr gute Datenqualität. Aus diesem Grund ist die Erfolgsquote, den Spam richig zu identifizieren, vergleichsweise hoch.
Zwei Extensions binden Akismet ins Modern Guestbook ein:
Akismet for ve_guestbook | Spamshield | |
Status | Beta | Alpha |
Version | 0.2.0 | 0.1.7 |
Dokumentation | Nein | Ja |
Spamschutz | Akismet | Akismet |
Session check | ||
Link check | ||
Time check | ||
Name check | ||
Konfigurationsmöglichkeiten | So gut wie keine | Sehr viele |
Empfehlenswert? | Nein | Ja |
Im praktischen Einsatz gibt es einen großen Nachteil: Die Anfragen an den Service können je nach Tageszeit mehrere Sekunden dauern. Die Extension „Spamshield“ liefert jedoch neben Akismet, das auch deaktiviert werden kann, noch weitere, sehr hilfreiche Spamabwehr-Methoden mit, die unbedingt aktiviert bleiben sollten. Besonders der „Time Check“ (zu schnell abgeschickte Beiträge werden abgelehnt) und der „Session Check“ (Abwehr von nicht über das Gästebuchformular verschickte Anfragen) zeigen in der Praxis sehr gute Ergebnisse.
Kommentare für Newsbeiträge
Aber das Modern Guestbook macht sich nicht nur als Gästebuch nützlich: Mit ihm lassen sich auch Newsbeiträge der Extension „tt_news“ um Kommentare ergänzen. Sie erscheinen dann als Liste unterhalb der News.
Am Gästebuch selbst ist dafür keine Konfiguration nötig. Es erkennt allein, dass es auf einer News-Detailseite eingebunden ist. Auf jeder Detailseite sind nur zwei Content-Elemente einzubinden: Das erste enthält den Modus „FORM“, mit dem das Formular ausgegeben wird; das zweite beinhaltet den Modus „LIST“ – hierüber werden die Kommentare zur News angezeigt. Aus Performancegründen wird dabei jede Detailseite aus dem Cache geholt. Die Seite wird erst nach dem Versenden des Formulars neu erstellt.
Und wer möchte, kann auf Basis des Modern Guestbook auch einen Blog aufsetzen. Die Extension „timtab“ von Ingo Renner realisiert das innerhalb
von TYPO3 und nutzt dabei die Kommentierfunktionalität des Modern
Guestbook. Blog-Einträge, die über die Extension „tt_news“ eingestellt
werden, können kommentiert werden. Die unterstützte Extension „realurl“
liefert dazu noch suchmaschinenfreundliche URLs.
ve_guestbook ist zu Recht eine der beliebtesten extensions für Typo3. Spam ist Dank entsprechender Maßnahmen Gott sei Dank auch wirklich kein Thema!
Mit den neueren Versionen von Typo3 wurde allerdings auch eine der darin verwendeten Funktionen als „deprecated“ deklariert – mein deprecated.log wird deshalb immer länger mit Einträgen wie:
t3lib_div::GPvar() – since TYPO3 3.6 – Use t3lib_div::_GP instead (ALWAYS delivers a value with un-escaped values!) – require#80 // include#439 // TSpagegen::renderContent#77 // tslib_cObj->cObjGet#317 // tslib_cObj->cObjGetSingle#493 // tslib_cObj->USER#620 // tslib_cObj->callUserFunction#789 // call_user_func_array#6594 // tx_templavoila_pi1->main_page# // tx_templavoila_pi1->renderElement#224 // tx_templavoila_pi1->processDataValues#361 // tslib_cObj->cObjGet#616 // tslib_cObj->cObjGetSingle#493 // tslib_cObj->RECORDS#580 // tslib_cObj->cObjGetSingle#1451 // tslib_cObj->cObjGetSingle#531 // tslib_cObj->CASEFUNC#598 // tslib_cObj->cObjGetSingle#1666 // tslib_cObj->COBJ_ARRAY#550 // tslib_cObj->cObjGet#745 // tslib_cObj->cObjGetSingle#493 // tslib_cObj->CASEFUNC#598 // tslib_cObj->cObjGetSingle#1666 // tslib_cObj->cObjGetSingle#531 // tslib_cObj->USER#620 // tslib_cObj->callUserFunction#789 // call_user_func_array#6594 // tx_veguestbook_pi1->main# // tx_veguestbook_pi1->displayForm#211 // t3lib_div::GPvar#692 // t3lib_div::logDeprecatedFunction#359 (t3lib/class.t3lib_div.php#358)
Ich würde mich freuen, wenn es von ve_guestbook in absehbarer Zeit ein Update geben würde, in dem GPvar() durch _GP ersetzt wird.
MfG,
Christian
Hallo, wie kann ich denn die/den E-Mail-Benachrichtigung/ Freigabe-Mechanismus durch den Administrator aktivieren? Ich bin da nicht wirklich firm drin, würde das aber sehr gerne aktiviert haben.
MfG
Joe