Spammer, Webspell und Stopforumspam.com

Das CMS Webspell hat, wie so ziemlich jedes andere CMS auch, mit Spammern zu kämpfen. Der Clan myRevenge e.V. setzt Webspell ein und hat mich um Hilfe mit ihrem Spam Problem gebeten. Trotz Captcha und Bestätigungslink schaffen es Spammer immer wieder sich anzumelden oder als Gast zu spammen. Nach einer erfolgreichen Anmeldung wird im zweiten Schritt auch in Bereichen gespmamt, in denen Gäste keine Schreibrechte haben.

Um den Spam einzudämmen, bietet sich eine Überprüfung an, wer so schreibt. Dabei macht man sich zu Nutze, dass Spammer wiederkehrende E-Mail Adressen und Usernamen verwenden.

Im ersten Schritt werden unerwünschte Top Level Domains und Domainendungen in 2 Arrays übergeben und überprüft, ob die verwendete E-Mail einen dieser Kriterien entspricht. Weil Spammer sehr flexibel sind, stellt diese Maßnahme lediglich einen Tropfen auf den heißen Stein dar.

Wesentlich effizienter ist der zweite Schritt. Hier wird die API von stopforumspam.com kontaktiert und gefragt, ob Name, oder E-Mail bereits als Spammer bekannt sind. Stopforumspam.com ist eine Seite, die bekannte Spammer sammelt und nicht kommerziellen Nutzern eine API zu der Datenbank anbietet.
Nur wenn die API antwortet, dass der Datensatz unbekannt ist, darf der User sich anmelden, bzw. einen Kommentar schreiben.

Die beschriebenen Ergänzungen werden in den Dateien register.php und comments.php vorgenommen.

Die Erweiterung der register.php:

Und die Änderung in der comments.php:

7 Gedanken zu “Spammer, Webspell und Stopforumspam.com

  1. Hallo :)

    Danke für die Antwort schonmal. Ich stelle/stellte mir diese Frage weil ich mich bspw. mit einer Mail @willich.nicht trotzdem registrieren konnte.

    Ich hätte jetzt gedacht, dass diese Mailadressen ausgeschlossen werden würden wenn ich diesen Code nutze.

  2. Muss ich an den beiden Codes noch was ändern? Bin ziemlicher Anfänger was das angeht.

    Also bspw.

    // Liste mit unzulaessigen Maildomains
    // Liste mit unzulaessigen TLs array(‚cn‘,’xxx‘)

    oder sonst irgendwelche Dinge? :/

    • An der Stelle kann man bestimmte Länderendungen sperren. Wenn man z.B. keine User aus Russland hat, die Bots aber alle russische Mailadressen haben, sind sie sehr leicht auszusperren.

      Wenn man China, Russland und die Ukraine aussperren möchte, dann trägt man in das Array halt ein:
      $badtld=array(‘cn’,’ru‘,’ua’);

  3. Ich habe sie bei uns immer per MySQL Querry gelöscht.. Da sie stunden für ca. 200 Posts brauchen und ich nur ein Querry :D Jetzt lassen sie das :D

    NEWS BEITRÄGE DER USER LÖSCHEN
    DELETE FROM DATENBANK.DEINPREFIX_comments WHERE DEINPREFIX_comments.userID = USERID

    NEWS BEITRÄGE DER GÄSTE LÖSCHEN
    DELETE FROM DATENBANK.DEINPREFIX_comments WHERE DEINPREFIX_comments.userID = 0

    FORUM POSTS DER USER LÖSCHEN
    DELETE FROM DATENBANK.DEINPREFIX_forum_posts WHERE DEINPREFIX_forum_posts.poster = USERID

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.