« Schachberechnungen visualisiert | Main | Syndigator installiert »

Trackback-SPAM einfach und effektiv verhindern

Vor einigen Tagen hatte ich eine Idee, wie man Trackback-SPAM wirkungsvoll und wie ich denke absolut risikolos verhindern kann. Zwar ist der Trackback-SPAM bei mir zur Zeit stark rückläufig. (Zumindest der automatische. Von den Hommigberger-Gepardenforellen-SEOs will ich hier lieber nicht sprechen.) Allerdings denke ich, es ist nur eine Frage der Zeit ist, bis die nächste Trackback-SPAM-Welle rollen wird. Da kann es sicher nicht schaden, sich darauf vorzubereiten.

Daher habe ich mir heute während meines Mittagessens mal eine Spezifikation von Trackbacks durchgelesen und dort genau das gefunden, was ich gesucht habe:

The central idea behind TrackBack is the idea of a TrackBack ping, a request saying, essentially, "resource A is related/linked to resource B."

Ehrlich gesagt habe ich auch schon viele Trackbacks bekommen, die zwar von Seiten kamen, die das selbe Thema behandelt haben, mich aber nicht verlinkt haben. Und daher wollte ich in diesem Punkt einfach nur nochmal sicher gehen. Denn genau hierauf beruht meine Idee:

Wenn ein Trackback für eine gewisse Seite eingeht, so bedeutet dies, dass von der getrackten URL ein Link zu mir existieren muss. Als Trackback-Empfänger kann ich also völlig problemlos diese Seite aufrufen und nachschauen, ob dieser Link existiert. Wenn nicht, wird der Trackback abgewiesen.

Sicherlich kann der Spammer dort vorübergehend einen Link setzen um so diese Prüfung zu umgehen. Allerdings bedeutet das auch, dass sein Server die selbe Anzahl von Request pro Zeiteinheit verarbeiten können muss, wie er versucht Trackbacks zu senden. Während das Senden über gekaperte Dialups verteilt werden kann, ist eine Verteilung auf dem Webserver schon bedeutend schwieriger und vor allem teuer. Sendet er zu viele Trackbacks initiiert er dadurch quasi seinen eigenen DDoS.

Zusätzlich könnte man die Prüfung in unregelmäßigen Abständen noch ein paar Mal wiederholen. Also beispielsweise direkt nach dem Senden, nach fünf Minuten, nach einer halben Stunde, nach 12 Stunden, nach zwei Tagen. Dies würde den Spammer daran hindern die Links nach einer gewissen Zeit wieder zu entfernen und wurde bei Massen-Trackback-Spamming den DDoS auf einen längeren Zeitraum ausdehnen. Voraussetzung hierfür wäre lediglich ein Cronjob auf dem Server, was es heute schon bei vielen Hosting-Paketen gibt, oder aber das "Aufheben" der Prüfung bis diese von einem PHP/Perl/Pyton/etc.-Skript durchgeführt werden kann, das sowieso gerade einen Request (z.B. den Abruf einer Seite) bearbeitet.

Nicht verhindern würde es manuellen Trackbach-SPAM, bei dem die Links wirklich auf der Sendersete gesetzt werden. Dies dürfte jedoch vernachlässigbar sein und kann manuell problemlos bewältigt werden.

Was denkt ihr? Würde solch ein System etwas bringen?

Links:
A Beginner's Guide to TrackBack
TrackBack Technical Specification

Update:
Auch ein Trackback-Service wie bei MEX gerade gelesen, würde damit klappen, da durch das erste Senden des Hin-Trackbacks die eigene URL in den "Trackbacks-von-Links" auftauchen und somit auch der Rück-Trackback durchgehen würde. Alternativ könnte man gewisse Domains natürlich für solche Services auch manuell von der Prüfung ausnehmen.

Geschrieben von Jan Theofel am 2.05.2005 um 11:44 Uhr (Permalink)
Abgelegt unter Blogs

TrackBacks für »Trackback-SPAM einfach und effektiv verhindern«

TrackBack URL: http://www.theofel.de/mt-cgi/mt-tb.cgi/1761

6 Kommentare zu »Trackback-SPAM einfach und effektiv verhindern«

Deine Schlussfolgerung aus TB-Spezifikation kann ich nicht nachvollziehen. Für mich geht aus dem Zitat nicht hervor, dass eine bidirektionale Verknüpfung vorliegen muss. Außerdem hätte eine technische Anleitung für mich in diesem Fall keine Verbindlichkeit, der Gebrauch von TBs hat für mich primär eine soziale Komponente. Für mich bedeutet TB, dass der *Leser* eines Textes auf weiterführende Informationen (Ergänzungen, Kritik, etc.) hingewiesen wird. Es ist also ein Dienst am Besucher der Site und kein Kommunikationsmittel zwischen Blogger. Insoferne finde ich auch die Begründung von Jörg Kantel falsch, warum er beim Schockwellenreiter ohne TB auskommt (nämlich dass man Technorati als Ersatz für TB nutzen könnte). In der Praxis ist TB jedoch dazu verkommen, anderen Bloggern eine Nachricht des Typs "Ich habe deinen Beitrag entdeckt" zukommen zu lassen. Der pingende Blogger setzt dem Original-Posting in den meisten Fällen aber keinen Mehrwert zu. Darauf kann ich eigentlich verzichten, auch wenn das andere Blog schön brav auf mich verlinkt hat.

1 | Wolfgang Sommergut | 2.05.2005 um 17:47

Ok, wolfgang hat natürlich nicht ganz unrecht: Ich habe mit an dem Wort "linked" aus dem englischen Text aufgehängt, durch das ich den Link vorausgetzt habe. Das ist strenggenommen natürlich nicht richtig. Aber ich stimme dir mit der sozialen Komponente auf jeden Fall zu. Und auch hieraus ergibt sich für mich die Logik des beiderseitigen Linkens: Wenn für die Leser des Blog-Eintrags A auch der Blog-Eintrag B interessant ist, dann gilt das genauso in die andere Richtung. Wieso sollte ich also beim Senden eines Trackbacks meinen Leser den Link zu mehr Informationen vorenthalten, während ich der Meinung bin, dass die Leser des anderen Blogeintrags bei mir weitere Inforamtionen finden werden, die für sie wertvoll sind? Technorati als Trackback-Ersatz lehne ich allerdings auch ab: Allerdings zählt hier für mich mehr, dass dies a) langsamer und b) extern stattfindet. Ich will immer Einfluss auf meinen aktuellen Stand hierzu haben um diesen z.B. auswerten, in meinen Augen für Besucher besser darstellen, etc. zu können. Und schliesslich ist das eigene Verwalten von Trackbacks sehr einfach und rechtfertigt IMHO nicht die Abhängigkeit von einem externen Anbieter.

2 | Jan Theofel | 2.05.2005 um 20:13

Grundsätzlich finde ich die Idee, daß eine trackbackende Seite einen Link auf die getrackbackte Seite enthalten soll schon genau so (ich erwarte von einem gesendeten TB auch, daß es auf dieser Seite einen Link gibt), aber leider gibt es diese unsagbar doofen Ausgangs-Skripte, die solch eine Überprüfung leider verhindern. Oder wie soll man testen, ob ein ausgehender Link auf z.B. "/ausgang.php?id=124" auf Dein Weblog führt?

3 | Pepino | 3.05.2005 um 7:21

Solche Redirect-Links stellen IMHO kein besonders großes Problem dar. Wenn man keinen direkten Link findet kann man im Zeifelsfall alle vorhandenen Links einmal abrufen und schauen, ob es sich um so einen Redirect handelt. Das erzeugt zwar etwas mehr Traffic beim Sender des Trackbacks, aber wer solche Redirects statt direkter Links einsetzt, hat es doch nicht wirklich besser verdient, oder?

4 | Jan Theofel | 3.05.2005 um 8:37

Und das willst Du dann automatisiert machen?

5 | Pepino | 3.05.2005 um 12:17

Wenn kein Link auf der Senderseite existiert den Trackback mit einer entsprechenden Fehlermeldung (ggf. mit einer URL zur einer Trackback-Policy/-Etikette) abweisen. Bei der späteren Prüfung würde ich den Trackback falls der Link später nicht mehr auffindbar ist, den Trackback löschen oder zumindest bis zu einer manuellen prüfung deaktivieren.

6 | Jan Theofel | 3.05.2005 um 13:45