Das Örtchen RSS-Feed
Kategorie
Kategorie: Blog
Buttons & Statistiken
Neueste Kommentare

Drupal: Lösungsansätze Pingback-SPAM

Gestern erhielt ich meinen ersten Pingback-SPAM (nur einen aber von einem bekannten Spammer) und habe mir deswegen im Rahmen meiner aktuellen Anti-SPAM-Strategie Gedanken über dieses Problem gemacht.

Nach einem Blick in den Code des Pingback-Moduls wurde mir leider schnell klar, daß derzeit nur Lösungsansätze im Rahmen von Aktionen und Triggern möglich sind. Diese greifen mir persönlich aber zu spät in den Ablauf ein, da ich zu diesem Zeitpunkt längst eine E-Mail-Benachrichtigung über einen neuen Kommentar erhalten habe.

Das Problem

Das Pingback-Modul verwendet zwar Kommentare, umgeht aber alle Validierungen. Für die Speicherung wird die Funktion comment_save() benutzt, welche auf vorhandene Validierungs-Probleme reagieren würde, diese jedoch nicht selbst feststellen kann.

Die Lösung

Meiner Meinung nach wäre es am sinnvollsten, einen Aufruf von comment_validate() vor dem eigentlichen Speichern durchzuführen und dann gegebenenfalls mit einem Aufruf von xmlrpc_server_error() auf den Rückgabewert FALSE der Speichern-Funktion zu reagieren.

Vorher:

    comment_save($edit);  

Nachher:

   // Validate pingbacks and allow hooking this validation with hook_comment()
  comment_validate($edit);

  // Pingbacks with errors won't be saved (return value FALSE)
  if (!comment_save($edit)) {
    // not sure about the error code and the message
    return xmlrpc_server_error(0, t('Validation error.'));
  } 

Fazit

So weit ich das sehe, sollte mit der obigen Änderung eine Nutzung von hook_comment() zur Validierung der Pingback-Innhalte möglich sein. Somit sollte nun die Entwicklung von Modulen möglich sein, die auf Basis einer schwarzen Liste von URLs Kommentare (oder sogar nur Pingbacks) schon vor der Moderations-Warteschlange abfangen. Derzeit bin ich mir nur über den passenden Fehler-Code unsicher, da ein solcher Fall derzeit nicht vorgesehen scheint.

Ich hoffe der derzeitige Maintainer des Moduls reagiert auf meinen eingereichten Patch, aber die Chancen stehen relativ schlecht, da das Modul (in der Version 6.x-2.x-dev) zuletzt am 14. August 2008 angepackt wurde.

Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses nicht mehr ganz so stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Alternativ besteht auch die Möglichkeit, sich von FeedBurner per E-Mail über meine Ausscheidungen benachrichtigen zu lassen.

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Der Inhalt dieses Feldes wird öffentlich zugänglich angezeigt, aber als rel="nofollow" markiert.
Hinweis

Kommentare beleben den Blog! Ich freue mich über jeden Kommentar. Du kannst hier offen Deine Meinung zum Artikel sagen, aber bitte beachte die Netiquette und vermeide es andere zu beleidigen.

Bitte unterlasst es die Kommentare zu SEO-Zwecken zu missbrauchen. Kommentare mit Links, die nicht zu Blogs führen (oder zu Blogs mit Grauzonen-Themen) und/oder Keywords als Namen verwenden, sind nicht erwünscht!

Möchtest Du mir einen Blog-Artikel schmackhaft machen, dann schreib die URL ohne HTML-Tag in den Kommentarbereich und ich werde diesen bei Gefallen verlinken.