  |
PHP Gästebuch Script mit Captcha Spamschutz, PHP & MySQL |
Spamschutz im ScarBook - Einem PHP Gästebuch Skript
Im Internet schwirren inzwischen immer mehr automatisierte Bots auf der Suche nach passenden Formularen herum, die sie mit ihren ungewollten Nachrichten befüllen und absenden können. Zusätzlich gibt es noch dutzende menschliche Spamer und natürlich unmotivierte Benutzer, deren Ziel es ist ungewollte Nachrichten mit ihren mehr oder weniger sinnfreien Texten zu platzieren.
Spamschutz ist also in vielerlei Hinsicht ein immer wichtigeres Thema. Vor allem, wenn die Nachrichten automatisiert verarbeitet und als neuer Bestandteil der Webseite für andere Besucher sofort abrufbar sind.
Im ScarBook existieren daher gleich viele verschiedene Möglichkeiten Spam entweder komplett zu unterbinden oder zumindest das Spamaufkommen stark zu reduzieren. Im Folgenden werden Ihnen kurz einige dieser Möglichkeiten beschrieben.
Hinweis: Sie können die verschiedenen Spamschutzmaßnahmen nutzen, Sie können das PHP Gästebuch aber auch komplett ohne diese verwenden!
Captcha Grafiken - Der Klassiker
Sie haben bestimmt schon einmal ein Formular genutzt und mussten zusätzlich ein paar Buchstaben oder Zahlen aus einer Grafik in ein dafür vorgesehenes Textfeld übertragen. Dabei handelt es sich um Captcha-Grafiken. Es gibt sie in den unterschiedlichsten Ausprägungen, die meisten mit Text (Zahlen oder Buchstaben) und einige noch mit zusätzlichen Bildmanipulationen.
Diese Grafiken haben den stärksten Spamschutz-Charakter, wenn es sich um automatisierte Eintragungen durch Bots handelt. Sie können zwar teilweise bei sehr schwachen Chaptcha-Umsetzungen automatisiert ausgelesen werden, die wenigsten Bots verfügen aber tatsächlich über solche aufwendigen Implementierungen und scheitern daher bei einer unerwünschten Eintragung.
Mit dem ScarBook wird eine starke Captcha-Implementierung mitgeliefert, die zwar einfach zu nutzen ist, aber noch nie automatisiert umgangen wurde.
- Unterschiedliche Schriften
Eine Captcha-Grafik kann auf Wunsch aus mehreren unterschiedlichen Schriften bestehen. Welche das sind, entscheiden sie selbst. Legen Sie lediglich die gewünschten TrueType Fonts im passenden Verzeichnis ab.
Tip: Es gibt viele kostenlose TrueType Schriften (*.ttf), die sie im Internet finden und verwenden können. Jede selbst ausgesuchte Schrift erhöht zusätzlich den Schutz. Natürlich werden bereits einige gut nutzbare Schriften mitgeliefert.
- Individuelle Hintergrundfarbe
Damit sich die Grafik ideal in Ihr gesamtes Layout einfügt, können Sie die Hintergrundfarbe frei anpassen.
- Individuelle Schriftfarbe
Die Schriftfarbe wird ebenfalls von Ihnen festgelegt und automatisch durch kleinere änderungen der Farbintensität in der Grafik verwendet. Das erschwert bereits in der einfachsten Captcha-Konfiguration den Einsatz von OCR Software (Texterkennenungssoftware) in den Bots.
Captcha: Verwendete Zahlen und Buchstaben
Natürlich können Sie die Menge der Zahlen und Buchstaben genauso frei festlegen, wie die genutzten Zahlen und Buchstaben.
- Ziffern: 0123456789
- Buchstaben ABCDEFGHIJKLMNOPQRSTUVWXYZ
Tip: Werden Ziffern zusammen mit Buchstaben verwendet, sollte man Buchstaben oder Zahlen meiden, die einen zu hohen Verwechslungsgrad liefern, zum Beispiel 1, I, i, 0, O, o, Q, q, 2, Z, z usw. (Zeichen mit zu hoher Verwechslungsgefahr sind unterstrichen).
Tip: Die spätere Captcha-Code-Prüfung unterscheidet nicht zwischen Groß- und Kleinschreibung, es steht Ihnen daher frei ob Sie nur Großbuchstaben verwenden oder auch Kleinbuchstaben zur Generierung nutzen.
Captcha: Zufälliger Hintergrund
Erschweren Sie Bots das auslesen des Captcha Codes durch einen dynamischen Hintergrund. Er ist bei jedem Aufruf unterschiedlich und kann dadurch nicht herausgefiltert werden.
Captcha: Zufällige Splitterartefakte
Ein weiteres Feature sind zusätzliche farbige Splitterartefakte. Sie werden über die Code Zeichen gelegt und machen dadurch die Verwendung von OCR Software unmöglich, da dadurch alle Zeichen für die Maschine völlig entstellt und an unmöglichen Stellen vergrößert und gezackt werden.
Captcha: Wellenverzerrung
Die Wellenverzerrung verfälscht die verwendeten Schriften und Positionen der Zeichen in der Captcha Grafik. Zur besseren Veranschaulichung verwenden die Beispielgrafiken zusätzlich den dynamischen Hintergrund.
Captcha: Teilung
Etwas trickreicher ist die Captcha Teilung, hierbei wird die Grafik vor Auslieferung nochmals geteilt und mit unterschiedlichem Versatz zusammengeführt. Die Beispiele zeigen dies in Kombination mit einigen anderen Verfälschungen.
Captcha Grafiken: Mit IP Bindung
Das ScarBook wurde in den letzten Jahren immer wieder zum beliebten Ziel für Spam-Bots und genau deshalb existieren inzwischen diese verschiedenen Abwehrmaßnahmen.
Die vielen Anpassungsmöglichkeiten der Captcha-Grafik können die störenden Spam-Bots zwar ausschließen, sie können aber leider nicht den spammenden Menschen ausschließen.
Während eines groß angelegten Angriffes auf dutzende ScarBook Installationen wurde eine umfangreiche Analyse durchgeführt, mit dem Ergebnis: Die Catpcha Grafik wurde immer von einer anderen IP aufgerufen, als letztlich der eigentliche Eintrag erfolgte. Aus diesem Grund kann das Prüfverhalten auf IP Bindung umgestellt werden. Der eintragende Besucher muss in diesem Fall mit derselben IP den Eintrag durchführen, wie er zuvor die Captcha Grafik abgerufen hat. Vermutlich wurde der Code von einem Menschen ausgelesen und lediglich an den Bot übermittelt, der anschließend den Eintrag durchführte.
Die Aktivierung dieser Prüfung konnte also bereits das gesamte Angriffsmuster durchbrechen.
Frage: Warum gilt nicht generell die IP Bindung?
Antwort: Einige Benutzer surfen im Internet mit dynamischer IP, haben also pro Aufruf eine andere IP und würde immer die Captcha-Grafik mit anderer IP aufrufen als sie später einen Eintrag durchführen. Die Anzahl ist zwar durch Wegfall von AOL und Compuserve verschwindend gering, könnte aber für die eine oder andere ScarBook Installation störend sein.
Manuelle Beitragsfreischaltung
Als letztes Mittel vor Spam und unerwünschten Einträgen können alle Beiträge manuel geprüft und erst nach Freischaltung für alle Besucher sichtbar gemacht werden.
Der Administrator kann in der Gästebuch-Verwaltung die Einträge lesen und manuel freischalten oder er bestätigt lediglich durch den Aufruf eines Links (enthalten in der Benachrichtigungs-Email an den Administrator) die Freischaltung oder veranlasst die Löschung des Eintrages.
Floodprotection
Wie der Name schon sagt, verhindert es die Überflutung des Gästebuchs durch zu viele Eintragungen in zu kurzer Zeit durch denselben Benutzer.
In der Regel sollte diese Eigenschaft immer genutzt werden, denn es schließt nicht nur unerwünschte Überflutungen unschöner Nachrichten aus, sondern verhindert auch versehentliche Doppelpostings.
|
|