Trackbackspam erste Hilfe

Die neuste Schrei unter den Spammern ist es, die Weblogs mit Pingbacks und Trackbacks anzugehen. Weil WordPress diese Kanäle bisher anders behandelt, als die normalen Kommentare, kann der Spam (und das macht er auch!) auf diese Weise ungehindert durch die bisherigen Barrieren hindurch schlüpfen. Die Entwickler arbeiten unter Hochdruck daran, diese Lücken so effektiv, wie möglich zu schließen, aber diese Techniken benötigen noch Zeit zum programmieren und zum testen.
Hier also eine erste (Not-) Lösung, die man auf englisch bei Tamba2 nachlesen kann:
Nicht vergessen:
Fertige Kopien von allen Dateien an, die Du verändern willst, bevor Du sie veränderst!
Die folgende erste Lösung stammt von LisaS (engl.)
Versionen:
Die beschriebene Lösung sollte auf den meisten Weblogs der Version 1.2 funktionieren (Für die Version 1.5 bitte ganz unten bei Update schauen) :
Man öffnet die wp-trackback.php mit einem einfachen Texteditor. Dort suchen wir nach folgendem Code:
if(check_comment($author, $email, $url, $comment, $user_ip)) {
$approved = 1;
} else {
$approved = 0;
}
Das sind die Zeilen 69 -73 in der Originaldatei. Jetzt schauen wir genauer hin und suchen darin den Ausdruck $approved = 1; Diesen Wert setzen wir nun genauso, wie es zwei Zeilen tiefer steht, auf Null. Der ganze Block müsste jetzt in etwa so aussehen:
if(check_comment($author, $email, $url, $comment, $user_ip)) {
$approved = 0;
} else {
$approved = 0;
}
Anmerkung: Die ganz normalen Kommentare bleiben davon völlig unberührt. Lediglich alle eintrudelnden Trackbacks müssen ab sofort vom Weblogbetreiber freigeschaltet werden, bevor sie veröffentlicht werden.
Komplett entfernen.
Manch einer hat jetzt die Nase von dem ganzen Spamkram bereits so voll, dass er die Trackbacks komplett deaktivieren möchte. Hier geht man man besten so vor: Wir suchen in der in der gleichen Datei (wp-trackback.php) nach folgender Zeile:
$pingstatus = $wpdb->get_var(”SELECT ping_status FROM $tableposts WHERE ID = $tb_id”);
Diese Zeile müssen wir auskommentieren.
Wie das geht? Einfach zwei Slashes an den Anfang der Zeile stellen. Fertig.
Direkt eine Zeile tiefer trägt man $pingstatus = ‘closed’; ein.
Die Zeilen 31 und 32 sollten jetzt folgendermaßen aussehen:
//$pingstatus = $wpdb->get_var(”SELECT ping_status FROM $tableposts WHERE ID = $tb_id”);
$pingstatus = ‘closed’;
Anmerkung: Die ganz normalen Kommentare bleiben davon völlig unberührt. Lediglich alle Trackbacks werden ab sofort ignoriert.
Siehe auch: Original Forumsbeitrag (engl.)
Man kann sich auch von drdave das Spam Karma Plugin
einmal näher anschauen. Es enthält bereits Elemente, die gegen den Trackbackspam eingesetzt werden können. Diejenigen, die es schon länger benutzen sollten übrigens unbedingt das Plugin updaten.
[Update:]
Leider funktioniert der oben beschriebene Lösungsweg nicht bei der neuen WordPress 1.5 Version. Völlig hilflos müssen wir uns aber dennoch nicht fühlen. Die von Herbert in den Kommentaren bereits erwähnte Lösung, bietet ein komfotables Plugin an, das man mittlerweile auch für die Version 1.5 haben kann.
Tipp: Der von der Wirkung dem Trackback recht ähnliche Pingback funktioniert zwar technisch etwas anders, sollte bei der Gelegenheit aber auch mit der entsprechenden Plugin-Lösung belegt werden.

