Schluss mit dem Gästebuchspam
Es gibt Programme, sogenannte Spambots, die den ganzen Tag nichts anderes machen, als das Internet nach Formularen, im besonderen auf der Suche nach Gästebüchern, Foren, Shoutboxen o.ä., zu durchsuchen und versuchen ihre Botschaft dort zu hinterlassen.
Solche Spambots freuen sich besonders darüber, wenn sie Erfolg hatten, sprich wenn die Werbung auch wirklich angezeigt wird.
Das Problem hier dran ist, dass wenn ein Spambot einmal Erfolg hatte, immer wieder kommt um seine Nachricht immer und immer wieder abzusetzen.
Diese Einträge alle manuell zu löschen kann sehr Zeitaufwendig sein, deswegen ist es besser, ein paar Vorsichtsmaßnahmen zu ergreifen.
Die effektivste Vorsichtsmaßnahme ist die, Spameinträge gar nicht erst abzuspeichern. Doch wie erkenn ich einen Spameintrag?
Hierfür gibt es verschiedene Strategie, die ich euch gerne vorstellen möchte.
1. Keine URLs zulassen
So banal wie es klingt, so effektiv ist diese Methode. Bevor ihr im PHP Script den Eintrag speichert, überprüft ihr per regulärem Ausdruck, ob dieser Beitrag eine URL enthält.
Sollte dies der Fall sein, gebt ihr eine Fehlermeldung aus, die den Benutzer bittet, keine URLs in seinem Beitrag zu verwenden.
Eine mögliche if-Anweisungen kann zum Beispiel so aussehen:
if(strpos($text, "http://") !== false || ereg("(www.[a-zA-Z0-9_-]+)\.([a-zA-Z0-9.]+)", $text))
echo "Bitte keine URLs posten";
else
//Beitrag speichern
In eurem Formular verwendet ihr unsichtbare Eingabefelder. Diese Methode hört sich erst komisch an, ist aber sehr effektiv.
Und zwar verwendet ihr Input-Felder, am besten mit einem typischem Namen wie z.B. url, homepage usw., die ihr per CSS und display: none; unsichtbar schaltet. Ein normaler Besucher sieht diese Felder nicht und wird folglich dort auch nichts eintragen.
Ein Spambot durchsucht euren Quelltext einfach nur nach Formularen, er wird aber nicht die CSS Datei analysieren, um zu überprüfen, ob evt. ein Eingabefeld unsichtbar ist.
Deswegen wird, wenn er das Formular absendet, höchst wahrscheinlich auch Text in diese unsichtbaren Felder eintragen sein.
Auf der Seite, auf der ihr den Eintrag speichert, müsst ihr jetzt einfach nur überprüfen, ob alle unsichtbaren Felder auch wirklich keinen Text enthalten.
Sollte eines dieser Felder doch einen Text enthalten, habt ihr den Spambot überführt und speichert den Beitrag nicht ab.
3. Sicherheitscode / Captcha
Diese Methode ist im Gegensatz zu den beiden anderen nicht unsichtbar und vermindert auch den Komfort von normalen Besuchern.
Und zwar muss der Besucher, bevor sein Eintrag abgespeichert wird, die Zahl die in einem Bild dargestellt wird, ein sogenanntes Captcah, in ein Eingabefeld abtippen.
Nur wenn er die richtige Zahl eintippt, wird sein Eintrag auch gespeichert.
Der Hintergrund hiervon ist, dass Maschinen relativ schlecht den Text von Bildern erfassen können, deswegen schafft es ein Spambot nicht, die Zahlen aus dem Bild auszulesen und demzufolge wird sein Eintrag auch nicht abgespeichert.
Ihr könnt diese Methoden natürlich auch miteinander kombinieren, im besondern Methode eins und zwei. Richtig angewendet, bieten sie euch einen sehr guten Schutz gegen lästige Spameinträge.
Verlinken Sie diesen Artikel auf Ihrer Webseite: