Kommentar-Spamschutz per Referer
Gerade rollt mal wieder eine kleine Kommentar-SPAM-Welle über meine Weblogs. Ein guter Zeitpunkt einen SPAM-Schutz für Kommentare zu implementieren und zu testen: Ich schalte einfach eine Rewrite-Regel im Apache (geht auch per .htaccess), die alle Zugriffe auf mein Kommentar-CGI verhindert, wenn der Referer nicht eine meiner Domains ist.
Das ist natürlich kein sicherer Schutz, weil der Referer beliebig fälschbar ist. Aber wir wissen ja um die Intelligenz der meisten Spammer. Sollte ein Besucher seinen Übertragung des Referers abgeschaltet haben, bekommt er eine entsprechende Fehlermeldung. (Der Kommentar-Spammer bekommt die natürlich auch.)
Dieser Schutz lässt sich nicht nur mit Movable Type sondern auch mit allen Weblogsystemen umsetzen, die ein eigenes CGI-Skript bzw. eine eigene PHP-Datei für das Übermitteln der Kommentare verwenden.
Und so geht es: Voraussetzung ist ein Apache-Webserver mit aktiviertem Rewrite-Modul. Einfach eine .htaccess-Datei mit folgendem Inhalt anlegen und wohlfühlen. Ein entsprechender Eintrag in der Apache-Konfigurationsdatei geht natürlich auch.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !erste-domain\.de [NC]
RewriteCond %{HTTP_REFERER} !zweite-domain\.de [NC]
RewriteRule /cgi/mt-comments.cgi /referer-error.html
Dabei sind folgende Werte beim Anpassen für euch zu ersetzen:
"erste-domain\.de" und "zweite-domain\.de" stehen für Domains, die einen korrekten Referer darstellen. Dort sind alle Domains einzutragen, von denen aus auf das Kommentar-Skript verwiesen wird. Die Punkte in dem Domainnamen sind durch einen Backslash zu entwerten. Pro Domain ist eine eigene Zeile einzutragen, also auch nur eine Zeile bei einer Domain oder beliebig viele Zeilen bei mehr Domains.
"/cgi/mt-comments.cgi" ist der Dateiname des Kommentar-CGIs bzw. der PHP-Datei
"/referrer-error.html" ist die Datei mit der Fehlermeldung, die angezeigt wird, wenn der Referer nicht zulässig ist
PS: Während ich diesen kleinen Beitrag geschrieben habe, hat mir diese einfache Regel bereits 39 SPAM-Kommentare vom Leib gehalten.
Geschrieben von Jan Theofel am 12.12.2005 um 8:11 Uhr (Permalink)
Abgelegt unter Movable Type
ich gehe doch recht in der annahme, dass er die meldung erst erhält, wenn er den kommentar abgeschickt hat. da kommt aber nicht bei jedem freude auf ;-)
1 | Gerald Steffens | 12.12.2005 um 16:13