Startseite

phpBB: Spam im Forum vermeiden 09.07.2014

In unserem Forum sind bisher mehr als 2.000 User angemeldet und mehr als 33.000 Beiträge geschrieben. Ein prima Treffpunkt nicht nur für Leute die Hilfe suchen und finden, sondern auch eine Plattform für Spammer. Denn unser Forum wird von Suchmaschinen aufgrund seiner Aktivität gut indiziert und eine Platzierung eines Links nach extern hilft evtl. dem ein oder anderen beim Ranking.


Da Spam nur etwas bringt, wenn es massenhaft verteilt wird, werden sogn. Bots verwendet (Server mit Programmen oder Scripts, welche bestimmte Aufgaben automatisiert abarbeiten), um Beiträge in Foren zu posten. Dabei wird immer in bestimmten Schritten vorgegangen:

  1. Es wird eine E-Mail Adresse bei einem großen Mailanbieter angemeldet, um die Opt-In Mails des Forums bestätigen zu können.
  2. Es wird ein User angemeldet. Dabei werden häufig sehr viele Felder ausgefüllt. Ein Muster lässt sich aber seit gut einem Jahr nicht mehr erkennen. Davor war zum Beispiel die Sprache „en“ eine Vorauswahl, oder die Zeitzone „-12“. Mittlerweile sind die Bots schlauer geworden.
  3. Nach einiger Zeit (> 3 Tage) werden dann innerhalb von wenigen Sekunden eine bestimmte Anzahl von Beiträgen (meist 15 oder 30 Beiträge) in alle Foren und Unterforen platziert.


Wie kann ich mich davor schützen?

Wir nutzen im Grunde zwei sich unterstützende Maßnahmen (CAPTCHA nutzen wir auch, aber das ist selbstverständlich):

  1. Wir moderieren den ersten Beitrag eines Users. Ist dieser freigeschaltet, können weitere Beiträge ohne Freischaltung vom User angelegt werden. Ist der erste Beitrag nicht freigeschaltet, kann der User soviel posten wie er möchte - es wird nichts angezeigt. Per Klick kann dann ein Admin den User samst Beiträgen löschen. Macht etwas Arbeit, lässt aber keinen Spam via Beiträge zu.
  2. Wir sperren große Mailprovider (Admin > Benutzer und Gruppen > E-Mail-Adressen sperren). Zugegeben eine sehr rabiate und vielleicht auch diskriminierende Einstellung, aber wir haben im Laufe der Zeit Mailadressen heraus gefiltert, welche von kaum einer unserer deutschen Kunden genutzt wird, welche sich in unserem Forum aufhalten. Damit hebeln wir die oben unter 1) beschriebene Methode aus und kein Spambot kann sich anmelden. Das hat dann mehrere Vorteile: zum einen entfällt dann die lästige Nacharbeit, den User und dessen Beiträge zu löschen und zum anderen wird der Spamuser nicht in der foreneigenen Benutzerliste geführt, wo dessen Homepage und Signatur angezeigt wird. Diese Felder werden häufig gnadenlos mit Spamadressen gefüllt.


Wie bekomme ich die Spamuser aus meiner Datenbank?
Wenn bereits sich Spammer angemeldet haben und als „Schläfer“ im Forum darauf warten, 30 Beiträge zu posten, gilt es diese zeitnah zu beseitigen. Wir bewerkstelligen dies mit einer SQL Abfrage, am besten mit einem Tool wie phpMyAdmin. Mit folgendem Befehl löscht man User bestimmter Mailprovider welche noch keinen Beitrag geschrieben haben:

DELETE  FROM `phpbb3_users` WHERE 
(
`user_email` LIKE '%@aol.com' OR
`user_email` LIKE '%@hotmail.com' OR
`user_email` LIKE '%@mail.ru' OR
`user_email` LIKE '%@t.pl' OR
`user_email` LIKE '%@yahoo.com' OR
`user_email` LIKE '%@yahoo.de' OR
`user_email` LIKE '%@zfymail.com'
)
AND `user_posts` < 1;
 

Sicherlich ist das nicht die sauberste Methode, da hier einige Referenzen von anderen Modulen oder Einstellungen nicht berücksichtigt werden und somit in der Datenbank verbleiben. Allerdings ist das ein vernachlässigbarer Anteil.

 


letzte Änderung 09.07.2014, 09:53 Uhr