Jump to Navigation

Krieg gegen den Spam

Nachdem ich Spambayes gegen meinen Emailspam benutzte, dachte ich, dass Spam für mich endlich der Vergangenheit angehören würde. Aber leider lag ich falsch. Auf meiner Seite erschien nun immer mehr Kommentarspam. Die Spammer benutzen die Kommentarfunktion auf meiner Webseite um meine Website mit Spam zu füllen. Auf diesem Weg machen sie nicht nur unbeliebte Werbung, nein, sie erhöhen sogar deren Google PageRank dadurch. Wie also kann man dies effektiv verhindern? Nun lass mich die Methoden auflisten:

  1. Moderation. Wenn man alle Kommentare erst liest und filtert, kann kein Spam durchsickern. Aber diese Methode hat einen gewaltigen Nachteil. Moderation braucht Zeit! Wenn man also zu beschäftigt ist, kommen keine Kommentare mehr online. Oder noch schlimmer, beim löschen der ganzen Spamnachrichten könnte man aus Versehen eine gute Nachricht löschen.
  2. Grafische Prüfung. Viele große Seiten benutzen diese Methode. Sie zeigen einen Code in einem Bild ein und erwarten, dass der User diesen Code bestätigt. Da das Bild unleserlich für ein Bot ist, werden diese effektiv geblockt. Aber manchmal können diese Codes auch sehr anstrengend sein, da man sie öfters selbst nicht lesen kann.
  3. Spamfilter. Wie bei Emails könnte man Spamfilter einsetzen. Aber mit Spamfilter kommt auch die Möglichkeit, gute Nachrichten zu löschen.
  4. Netzwerkbasiertes filtern / Schwarze Listen. Einige Leute versuchen sich daran eine schwarze Liste mit IPs der Spammer zu erstellen. Diese Methode hat 2 wichtige Nachteile. Erstens ändert sich die IP der Spammer und zweitens lässt es immer erst den Spam durch, bevor er geblockt wird.
  5. Prüfsummen. Damit diese Methode funktionieren kann, muss der User Javascript aktiviert haben. Wenn man ein Kommentar absendet, berechnet der Browser eine Prüfsumme für die Nachricht. Der Server prüft diese und schaltet die Nachricht frei, sofern der Code korrekt ist und löscht sie andernfalls. Diese Methode hat aber den Nachteil, dass Nutzer mit deaktiviertem Javascript keine Nachrichten mehr schreiben können.

Nichts davon passte mir wirklich, also überlegte ich herum und baute mir selbst eine Methode kombiniert aus 2 und 5. So funktioniert sie:

Der Server berechnet eine 3stellige Zahl und ein Bestätigungsfeld vor dem Kommentarfeld. Gleichzeitig versteckt er noch ein verstecktes Input-Feld mit dem Namen “code” welches die selbe dreistellige Nummer noch mal verschlüsselt auffindbar ist. Dies hört sich noch sehr nach Methode 2 an. Nun kommt der neue Teil. Als nächstes füge ich ein Javascript hinter dem Kommentarfeld. Das Javascript liest und entschlüsselt die Zahl und füllt sie für den Nutzer ein. Daraufhin versteckt es den Code und das Bestätigungsfeld, sodass der Nutzer weder den Code sieht, noch weiß, dass er einen Code bestätigen musste sofern er Javascript aktiviert hat. Dies blockiert effektiv alle Spammer ab, die Javascript deaktiviert haben. Javascript ist langsam und würde Spammern viel Zeit kosten, wenn sie es berücksichtigen müssten. Deshalb schalten sie es aus. Aber sobald es aus ist, müssen sie den Code bestätigen, was deren Bot natürlich nicht kann. So bleibt also der Spam draußen.

Diese Methode ist nicht perfekt, da es manuell geschriebenes Spam durchlässt, aber es wird keinesfalls gute Nachrichten blockieren. Der Vorteil ist aber, dass Javascript Nutzer es komfortabel nutzen können ohne jegliche lästige Bestätigung von irgendwelchen Codes.

Comments are closed.