Misc

  • RSS 2.0 Feed
  • blog-o-rama.de
  • Blog Button
  • Blogverzeichnis - Blog Verzeichnis bloggerei.de

Advertising

Pazzi.de - Das etwas andere Auktionshaus

Geld mit der Homepage verdienen

Endlich - Die Flatrate fürs Handy: BASE

Geld verdienen und Sparen im Internet

Break Internet Restrictions with Web Proxy

 

Guter Backlink gesucht? Kostenlos Textlink tauschen

Drupal

Spam eindämmen mit Trackback Validation

An sich halte ich das System der Trackbacks für eine gute Sache. Eine Funktion des Trackbacks, ist in der Blogosphäre jedoch sehr umstritten, weil sie einerseits zwar Spam verhindert aber andererseits auch die fortschreitenden Assoziationen der Blogosphäre schwächt.

Diese Funktion nennt sich Trackback Validation und bewirkt, dass ein Artikel nur Trackbacks von dem bezugnehmenden Artikel eines anderen Weblogs empfängt, wenn in diesem auch ein Link auf den Ursprungsartikel enthalten ist. Die meisten Softwareprodukte, welche zur Verwaltung von Weblogs eingesetzt werden, implementieren dieses Verhalten standardmäßig in ihre Trackback Komponenten.

Sehr wenige Softwareprodukte hingegen implementieren die Trackback-Funktionalität so, wie es die offizielle Trackback-Spezifikation vorsieht, und zwar ohne eine automatisierte Filterung von empfangenen Trackbacks. Das Content Management System Drupal ist eines dieser besagten Produkte.

Leider exisiert kein Modul, welches das vorhandene Trackback Modul in Drupal um die Funktionalitäten der Trackback Validation erweitert. Will man trotzdem in den Genuss kommen müssen lediglich einige Änderungen in der Datei modules/trackback/trackback.module vollzogen werden. Dazu wird eine Funktion in die Datei eingefügt, welche auf der bezugnehmenden Seite nach der verlinkten URL der Artikelseite sucht.

/**
* Sanity-checks trackback by making sure the URL contains link back
*/
function trackback_sanity_check_link($url, $timeout = 30) {
  global $base_url;
  // Fetch trackback link page (using timeout)
  $c = curl_init();
  curl_setopt($c,CURLOPT_URL,$url);
  curl_setopt($c,CURLOPT_HEADER,0);
  curl_setopt($c,CURLOPT_FOLLOWLOCATION,1);
  curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($c,CURLOPT_TIMEOUT, $timeout);
  $data=curl_exec($c);
  curl_close($c);
  // If page contains base_url return TRUE
  return stripos($data,$base_url)!==FALSE;
}

Anschließend wird die schon vorhandenene Funktion trackback_receive am Anfang mit einer kleinen Abfrage ausgestattet, welche den Link des Trackbacks, mittels der neuen Funktion, auf einen Backlink überprüft.

   if (!trackback_sanity_check_link($trackback->url)) {
      if (!module_invoke('throttle', 'status')) {
        sleep(variable_get('spam_ip_filter_sleep', 30));
      }
      return;
    }

Ich hoffe dass ich durch die Verwendung dieser Funktion dem massiven Trackback-Spam entgegenwirken kann ohne damit nachhaltig der Blogosphäre zu schaden. ^^

Update: Mir wurde soeben über die Kommentarfunktion von jemandem mitgeteilt, dass er ein Trackback Validation Modul für Drupal veröffentlicht hat.

Monatliches Drupal Archiv

Ich habe ein kleines Howto für die Implementierung eines alternativen Archivs für das Drupal Content Management System mit Hilfe des Moduls Views verfasst:

Drupal Monthly Archive mit Modul Views

Syndicate content
Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der 
Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: