Spam in Topkommentaren

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 4smilie 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     ");

Autor  ⁄ Thomas Liedl

Meine digitale Vergangenheit reicht fast bis zur Geburtsstunde des Internets zurück. Nach zahlreichen anderen Webseiten bin ich letztlich im März 2007 in die Welt des Bloggens eingestiegen. Ich beschäftigte mich mit gemischten Themen aus Gesellschaft, Politik, Technik und Sport. In meinen Praxistests schreibe ich über eigene Erfahrungen mit Produkten bzw. Dienstleistungen im Netz.

13 Kommentare

  • Antworten
    7. September 2009

    Also ich kenne das Problem nicht. Nutze auch das Plugin “Show Top Commentators”, aber nutze gegen Spam auch lediglich Akismet. Und mir ist das bei mir bisher noch nicht aufgefallen.

    Kann dir also nicht so wirklich helfen… leider…

    • Antworten
      Thomas Autor
      7. September 2009

      Ich habe zwar Antispambee im Einsatz, aber daran liegt es nicht wie es scheint. Habe kurzzeitig mal auf Akismet umgestellt… mit dem gleichen Effekt. Sobald Spam aufläuft wird 1 Link bei den Topkommentatoren überschrieben. Bleibt zunächst nur die radikale Löschmethode.

  • Antworten
    7. September 2009

    Japp. Scheint so. Welcher Link denn? Immer der Erste? Oder immer an der gleichen Stelle? Oder immer ein anderer?

    • Antworten
      Thomas Autor
      7. September 2009

      Es ist schon verrückt… betroffen ist immer nur der Wirbelwebber, momentan steht der an drittletzter Stelle. Es macht wirklich den Eindruck, als würde sich der Spam speziell daran festgebissen zu haben. Wieso und warum auch immer.

  • Antworten
    7. September 2009

    Alles schon sehr eigenartig. Das gilt dann aber nicht für seine Kommentare, oder? Also ist der Link in den Kommentaren dann auch auf die Spam-URL?

    • Antworten
      Thomas Autor
      7. September 2009

      Der Link im Kommentar selbst bleibt “sauber”, betroffen ist nur der Link in der Topliste. Schon mehr als eigenartig…

  • Antworten
    7. September 2009

    Ja… erklären kann ich das auch nicht wirklich.

  • Antworten
    8. September 2009

    Da kommentiert der Spammer wohl absichtlich mit dem Namen eines Topkommentatoren, weil das Plugin offenbar auch Spam berücksichtigt, wenn es den Link aus der Datenbank holt. Ich vermute, da fehlt ein “AND comment_approved = 1″ in der Datenbankabfrage…

    • Antworten
      Thomas Autor
      8. September 2009

      @cimddwc: Auf die Idee wäre ich jetzt nicht gekommen… a b e r… eine Überprüfung des Plugins hat ergeben, dass diese Abfrage stattfindet, siehe Ausschnitt:

      $commenters = $wpdb->get_results("
      SELECT COUNT(comment_author) AS comment_comments, comment_author,
      comment_author_email
      FROM $wpdb->comments o
      WHERE $reset_sql
      AND comment_author NOT IN($ns_options[filter_users])
      AND user_id NOT IN($ns_options[filter_user_ids])
      AND comment_author != ''
      AND comment_type != 'pingback'
      AND comment_approved = '1'
      GROUP BY comment_author_email
      ORDER BY comment_comments DESC LIMIT $ns_options[limit]
      ");

      Ich lass jetzt mal allen Spam der auf Beiträge älter als 4 Wochen (ist ja zu 99% der Fall) eingeht automatisch löschen. Insoweit ist das Problem so halbwegs gelöst. Denn eigentlich wollte ich die Topkommentatoren nicht aus der Sidebar verbannen. Und eine andere Variante, die das Plugin ersetzen würde kommt mir jetzt nicht in den Sinn (graue Zellen, ich weiß smilie ).

  • Antworten
    8. September 2009

    Da wird die URL (comment_author_url) gar nicht ausgewählt – es muss also noch eine andere Abfrage geben (was das wieder unnötig Datenbank-Last erzeugt…smilie. Hast du mal schnell einen Link zu dem Plugin-Download?

  • Antworten
    8. September 2009

    Wie vermutet: In der Funktion ns_get_user_url (Zeile 41) ist die separate URL-Abfrage (mir schleierhaft, warum er das nicht einfach in der Haupt-Abfrage mit einbaut), und da fehlt das “AND comment_approved = 1″.

    • Antworten
      Thomas Autor
      8. September 2009

      @cimddwc: Nachdem ich jetzt das Spamschott einen kleinen Spalt geöffnet habe hat sich gezeigt, dass mit der Änderung ab Zeile 41 das Problem gelöst ist. Trotz Inhalt im Spamordner wird kein Link bei den Topkommentatoren mehr verändert. Besten Dank für Deine Unterstützung, von der ggf. auch andere profitieren können.