Thiemos Archiv
- Wednesday, 2005-01-05 19:31
- Kommentarspam in meinem Blog. Dieses Mal von der extremen Sorte: Der Zugriff erfolgte durch ein Skript und hinterließ in meinen Logfiles nur eine einzige Zeile. (Zum besseren Verständniss: Normal wären zwei Zeilen – eine für den Aufruf des Kommentarformulares, eine für das Absenden desselben.) Und das, obwohl mich meine Eigenentwicklung bisher erfolgreich vor dem Moveable Type-Problem bewahrte. Aber so lange sich die Spammer so blöd verhalten, stellt das alles kein Problem dar.
Schritt 1: Ich verbiete Links, bei denen
<A HREF=…>
groß geschrieben ist. Diese Schreibweise ist mit XHTML (das ich noch nicht einsetze, auf das ich aber hinarbeite) ohnehin verboten.Schritt 2: Ich verbiete Kommentare mit mehr als 10 Links. Der reguläre Rekord liegt bisher bei 8, normal sind 1 oder 2. Viele Weblog-Anbieter setzen schon seit einer Weile einen solchen Filter ein. Das Limit ist dort im Allgemeinen auf 5 eingestellt.
Schritt 3: Im Fehlerfall wird die Reaktion des Skriptes um 10 Sekunden verzögert. Reguläre Kommentierende haben diese Zeit, Spammer nicht. (Die Tatsache, dass Spammer nach dem Fire-and-forget-Prinzip arbeiten, lasse ich mal außer Acht.)
Schritt 4 (noch nicht realisiert): Beim Aufruf des Kommentarformulares wird eine Session gestartet oder einfach ein Cookie mit einem eindeutigen Schlüssel gesetzt. Beim anschließenden Absenden des Formulares wird der Kommentar nur akzeptiert, wenn der Schlüssel mit dem wenige Minuten vorher generierten übereinstimmt. Dieser Mechanismus macht sich die Tatsache zu Nutze, dass kommentieren grundsätzlich zwei Requests erfordert (siehe oben).
Die Spammer werden zwar auch das irgendwann mit ihren Skripten simulieren können, aber vorerst scheint mir das eine nahezu ideale Lösung zu sein. Oder blockiert man damit versehentlich reguläre Kommentare (wenn man von abgeschalteten Cookies einmal absieht – Sessions funktionieren zur Not auch ohne)?
Siehe auch PHP-FAQ.
Kommentare zu diesem Beitrag können per E-Mail an den Autor gesandt werden.
Also kann man mit hide-Parametern auch Schlüssel übertragen. Das muß ja nicht einmal mit Cookies gemacht sein. Nur würde ein Spammer dann alle hide-Felder nehmen und 1:1 wohl wieder absenden ...
Also bliebe vermutlich nur noch die Variante: eine kleine Grafik mit einer Zufallszahl.
Absolut sicher scheint nur die Variante zu sein: man nimmt einen Screenshot von 9live - und der Kommentierende darf erst zählen, wie viele Ziffern da drauf enthalten sind! ;-)
zum Abschluß noch eine Idee: bilde eine "Grauzone". D.h. Beiträge, die mystisch aussehen, nicht komplett ablehnen, sondern sie müssen erst freigeschalten werden ...
machen wahrscheinlich irgendwelche armen asiaten für einen hungerlohn