Das Örtchen RSS-Feed
Kategorie
Kategorie: Blog
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.

Bild von Jan Teriete Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses mal mehr oder weniger stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Du kannst aber auch gerne diesen Artikel in den sozialen Netzwerken teilen und mit Deinen Kontakten über das Thema diskutieren.

Neuen Kommentar hinzufügen

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

Die mit einem Stern markierten Daten werden zur Bearbeitung Deines Kommentars benötigt und zusammen mit Deiner IP-Adresse erfasst (siehe Datenschutzerklärung).

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.