In meiner Sidebar benutze ich seit längerer Zeit das Plugin Show Top Commentators. Seit ein paar Tagen nun wird einer der genannten Topkommentatoren automatisch mit einem Spamlink hinterlegt. Der ursprüngliche Link wird überschrieben. Jedoch nur, wenn im Spamordner entsprechender Müll aufgelaufen ist. Lösche ich den Inhalt des Spamordners, erscheint auch wieder der eigentliche Link der Kommentators.

Nachdem immer wieder und in nicht vorhersehbaren Abständen Spam anfällt trifft es also immer wieder zu, dass ggf. über mehrere Stunden hinweg ein Spamlink auf der Startseite gelistet wird.

Ob es nun direkt   am Plugin Show Top Commentators liegt oder mit dem Antispam-Plugin zusammenhängt kann ich derzeit nicht sagen. Kennt jemand von Euch dieses Phänomen oder hat eventuell selbst damit zu kämpfen?

Bis ich hierzu eine endgültig Lösung gefunden habe wird anfallender Spam nicht mehr in den Ordner verschoben, sondern sofort gelöscht, in der Hoffnung dass sich kein „guter Kommentar“ dazwischen schmuggelt, was bisher zum Glück seltener der Fall war.

[update] 08.09.2009: Mit Unterstützung von Cimddwc konnte das Problem gelöst werden. Der Fehler liegt im Plugin ab Zeile 41. Eine fehlende Datenbankabfrage ermöglichte es Spammern sich in den Topkommentatoren zu verewigen. Die Änderung kann jeder ganz leicht vornehmen.

In der show_top_commentators.php zur Zeile 47 gehen und in einer neuen Zeile folgernde, rotmarkierte Ergänzung (Zeile 48) hinzufügen. Datei abspeichern und mittels FTP auf den Server transferieren. Und schon klappts auch wieder mit den Topkommentaren… ohne Spam-Links.


41     function ns_get_user_url($user) {
42     global $wpdb, $ns_options;
43     $url = $wpdb->get_var("
44     SELECT comment_author_url
45     FROM $wpdb->comments
46     WHERE comment_author_email = '".addslashes($user)."'
47     AND comment_author_url != 'http://'
48     AND comment_approved = '1'
49     $ns_options[filter_urls]
50     ORDER BY comment_date DESC LIMIT 1
51     ");