Kylaloo

StartseiteNeu hierkontaktImpressumdownloads

Unsichtbarer Spam

Filed under: | Mathias | 16. Okt 2005 | 03:19 Uhr

Unsichtbarer Spam

Bis vor ein paar Tagen dachte ich noch, dass dieses Weblog völlig spamfrei sei. Kein Wunder, denn ich kontrolliere nahezu täglich die Kommentare, habe eine ausgeklügelte Grey- und Blackliste und sämtliche Ping- und Trackbacks landen bei mir in der Moderation.
Erwartungsgemäß gab mir dann auch das, was ich zu sehen bekam, das Gefühl alles richtig gemacht zu haben.

Dann kam der Tag, als ich mir dachte, ich sollte mal wieder eine Sicherungskopie meiner Datenbank anfertigen. Nur so für den Fall der Fälle. Und weil ich nicht gerade ein Überflieger in Sachen Datenbank bin, machte ich zur Sicherheit gleich mehrere verschiedene Datensicherungen. Ich nutze dazu eine Software, die mir mein Hoster automatisch dafür installiert hat. Sie heißt PhpMyAdmin und ist laut den MySql-Freaks, die ich so kenne, die gängigste und verständlichste für solche Angelegenheiten.

Als ich eine Kopie der Datenbanksicherung mit einem Texteditor öffnete, traf mich der Schlag: Neben den normalen Einträgen fand ich etwa 6000 Spamkommentare darin aufgezeichnet.

Sechstausend!

Fassungslos fragte ich mich, woher so unanständig viele Kommentare herkommen können. Auf normalem Weg hätte ich eine solche Menge sicher bemerkt, also muß sie sich irgendwie hinter meinem Rücken eingenistet haben. Nur, wie kann das gehen?

Um diese eigenwillige Schwäche bei WordPress zu verstehen, müssen wir mal einen Blick auf die Funktionsweise bestimmter Spamfilter werfen. Oft werden sie auch als “lernfähige” Filter bezeichnet, weil sie zwei, oder mehrere Dateien miteinander vergleichen, um sich anschließend einen Reim daraus zu machen. Wenn wir sie also konkret mit tatsächlichem Spam “füttern”, dann sollen sie zwangsläufig irgendwann in der Lage sein, die anderen Familienmitglieder zu erkennen und herausfiltern zu können.

Sie brauchen sozusagen Spam um Spam erkennen zu können.

Soweit ich das jetzt sehe, geben sich die fest eingebauten WordPress Filter zwar alle Mühe, Spam von Nichtspam zu unterscheiden, kümmern sich aber leider herzlich wenig darum, die mit “Spam” gebrandmarkten auch automatisch zu löschen. Ich weiß nicht warum. Vielleicht war ja den Entwicklern das Risiko einfach zu hoch, korrekte Einträge falsch zu behandeln.

Der “Trick” der Entwickler ist jedenfalls der, dass die als Spam klassifizierten Kommentare, einfach nur aussortiert und für den gewöhnlichen Benutzer unsichtbar in der Datenbank abgelegt werden. Ihr Kalkül dabei: Solange der Benutzer das nicht merkt, wird er sich auch nicht weiter an der wachsenden Größe der Datenbank stören.

Aha. Da ist er nun endlich, der große Unterschied zwischen Spam und Löschen.
Wenn ich im Administrationsbereich bei der Kommentarmoderation “Löschen” auswähle, dann wird der Kommentar tatsächlich gelöscht. Wähle ich dagegen “Spam” aus, dann markiert WordPress diesen Kommentar nur mit dem Attribut “Spam” und legt ihn anschließend in eine unsichtbare Schublade in der Datenbank ab. Das passiert vollautomatisch im Hintergrund und sieht dann für den User fälschlicherweise genauso aus, als hätte er den Kommentar gelöscht.

Also: Benutzt man kein Plugin, dass die so markierten Kommentare löscht, dann wächst die Datenbank und wächst und wächst. Bei mir sind das jetzt ganze 6000 Spam-Kommentare in rund einem halben Jahr gewesen, oder wären gut 12.000 Stück in einem ganzen. Steigerungsraten aufgrund einer möglichen größeren Bekanntheit des Blogs einmal nicht eingerechnet.

Und das soll wirklich keinen Einfluß auf die Datenbank haben, wie die Entwickler uns weismachen wollen?

Na, ich weiß nicht.

Ich will aber nicht ungerecht sein. Schließlich benutzen ja einige der Plugins dann doch diese “intelligenten” Filter und entfernen schön brav die bösen Schmarotzer des Netzes. Man muß sie eben auch finden, installieren und einsetzen können.

Macht man das nicht, weil man das nicht wusste, oder weil das Plugin sich nicht mit einem anderen verträgt, dann gibt es da noch eine Alternative, mit der man zumindest diese unsichtbare Schublade sichtbar machen, und die Einträge darin zum Teufel schicken kann.

39800

Filed under: | Mathias | 02. Mrz 2005 | 08:12 Uhr

39800

Wie lautet der Satz aller Sätze, wenn man WordPress das erste mal installiert? Richtig: “This is your first post. Edit or delete it, then start blogging!” Gibt man ihn bei Google ein, sieht man die beeindruckend wachsende Anhängerschaft. Doch doch, so langsam erobert sich WordPress den Platz an der Sonne im Weblogbusiness….

WordPress Turbo

Filed under: | Mathias | 28. Feb 2005 | 21:30 Uhr

wpTurbo

Seit bei WordPress die neue Runde 1.5 eingeläutet wurde, ist auch eine ganze Menge in Sachen Übersetzung passiert. Mit großen Bemühungen Seitens der Entwickler vergeht kaum ein Tag, an dem sich nicht etwas neues tut. So ist es auch nur noch eine Frage der Zeit, bis das Standard Layout, das Kubrick Template, internationalisiert sein dürfte. Die Übersetzerei hat aber bei so manchem den Nachteil einer lahmeren Performance bewirkt und nicht wenige User kehren aus diesem Grund der Sprachdatei enttäuscht wieder den Rücken zu.

Ich behaupte mal zu Unrecht, denn soeben hat der Entwickler Danilo Segan eine neue Version von PHP-gettext gebastelt. Von Nico Kaiser erhielt er zudem noch ein Patch mit Optimierungen.

Ich habe das einmal ausprobiert und war völlig von den Socken. Der Zuwachs bei der Geschwindigkeit ist zumindest bei mir enorm! Wer das auch mal ausprobieren möchte, dem habe ich die drei Dateien, um die es hier im wesentlichen geht, aus der für mich etwas verwirrenden Originaldatei heausgenommen und hier bereitgestellt.

Installation:
Die Datei wp-turbo.zip entpacken und die drei darin befindlichen Dateien gettext.php, streams.php und wp-l10n.php gegen die, die sich im Ordner wp-includes befinden, austauschen. (Nicht vergessen: Sicherungskopien machen!)

Hinweis:
Ich habe das mit meiner WP Version 1.5 ausprobiert und weiß natürlich jetzt nicht, was diese Dateien mit der alten 1.2er anstellen! Also: Vorsicht ist die Mutter der Porzellankiste.

[Update:] Wer die Kommentare aufmerksam gelesen hat, sieht auch die neue Info von Nico Kaiser mit einer Modifikation in der wp-l10n.php. Ich habe diese Modifikation inzwischen ausgeführt und dem Zip hinzugefügt. Der Text weiter oben im Artikel ist entsprechend aktualisiert.

[Update 2:] Mittlerweile haben die Entwickler, den WP-Turbo auch schon eingebaut. Also: Ab der Version 1.5 ist dieser Turbo eigentlich sinnlos geworden.

WP Kubrick Template in deutsch

Filed under: | Mathias | 03. Feb 2005 | 05:21 Uhr

kubrick

Mann mann mann, was für ein Frust. Da installiert man sich noch eben hoffnungsfroh die neueste Version 1.5 “Strayhorn” von WordPress, bettet die frische neue deutsche Sprachdatei dazu und stellt enttäuscht fest, dass eben doch nicht alles so auf deutsch daherkommt, wie man es sich gewünscht hatte. So mancher glaubt jetzt böse, dass gar nur ein kleiner Teil übersetzt wurde.

Stimmt aber nicht.

Der Punkt ist der, dass Michael Heilemann bei der Erstellung dieses Templates verdammt viel Text direkt in die Seiten geschrieben hat und dieser Text leider nicht entsprechend der Konvention für die Übersetzungsprogramme markiert wurde. Oder anders: Das entsprechende Programm kann leider nicht alle Eintragungen zum übersetzen finden. Im deutschen Forum für WordPress wurde inzwischen des öfteren danach gefragt, wo man was, wie verändern muß, damit man eine saubere deutsche Installation vor sich hat. Insbesondere an den Datumsangaben störten sich noch viele.

Ich war mal so bescheuert und habe mir das ganze Geraffel vorgenommen und ins deutsche übertragen.

Funktionieren sollte es nur in Kombination mit der deutschen Sprachdatei von WordPress.de, die man zweckmäßig vorher schon installiert haben sollte. Hat man das gemacht, darf man sich jetzt die deutsche Version des default-Themes (Kubrick) herunterladen, entzippen und neben dem Original auf dem Server schieben. (wp-content/themes/) Aktiviert wird der ganze Spaß nun wie gehabt: Im Adminbereich einfach auf die Themes klicken und dort dann WP-default (German) 1.5 aktivieren.

Fertig.

Mein erster heimlicher Test ist vielversprechend verlaufen. Sollte jemand etwas verbesserungswürdiges finden, so möge er bitte dazu die Kommentarfunktion nutzen.

Trackbackspam erste Hilfe

Filed under: | Mathias | 11. Jan 2005 | 13:41 Uhr

trackback

Die neuste Schrei unter den Spammern ist es, die Weblogs mit Pingbacks und Trackbacks anzugehen. Weil WordPress diese Kanäle bisher anders behandelt, als die normalen Kommentare, kann der Spam (und das macht er auch!) auf diese Weise ungehindert durch die bisherigen Barrieren hindurch schlüpfen. Die Entwickler arbeiten unter Hochdruck daran, diese Lücken so effektiv, wie möglich zu schließen, aber diese Techniken benötigen noch Zeit zum programmieren und zum testen.

Hier also eine erste (Not-) Lösung, die man auf englisch bei Tamba2 nachlesen kann:

Nicht vergessen:
Fertige Kopien von allen Dateien an, die Du verändern willst, bevor Du sie veränderst!

Die folgende erste Lösung stammt von LisaS (engl.)

Versionen:
Die beschriebene Lösung sollte auf den meisten Weblogs der Version 1.2 funktionieren (Für die Version 1.5 bitte ganz unten bei Update schauen) :

Man öffnet die wp-trackback.php mit einem einfachen Texteditor. Dort suchen wir nach folgendem Code:

if(check_comment($author, $email, $url, $comment, $user_ip)) {
$approved = 1;
} else {
$approved = 0;
}

Das sind die Zeilen 69 -73 in der Originaldatei. Jetzt schauen wir genauer hin und suchen darin den Ausdruck $approved = 1; Diesen Wert setzen wir nun genauso, wie es zwei Zeilen tiefer steht, auf Null. Der ganze Block müsste jetzt in etwa so aussehen:

if(check_comment($author, $email, $url, $comment, $user_ip)) {
$approved = 0;
} else {
$approved = 0;
}

Anmerkung: Die ganz normalen Kommentare bleiben davon völlig unberührt. Lediglich alle eintrudelnden Trackbacks müssen ab sofort vom Weblogbetreiber freigeschaltet werden, bevor sie veröffentlicht werden.


Komplett entfernen.

Manch einer hat jetzt die Nase von dem ganzen Spamkram bereits so voll, dass er die Trackbacks komplett deaktivieren möchte. Hier geht man man besten so vor: Wir suchen in der in der gleichen Datei (wp-trackback.php) nach folgender Zeile:

$pingstatus = $wpdb->get_var(“SELECT ping_status FROM $tableposts WHERE ID = $tb_id”);

Diese Zeile müssen wir auskommentieren.
Wie das geht? Einfach zwei Slashes an den Anfang der Zeile stellen. Fertig.
Direkt eine Zeile tiefer trägt man $pingstatus = ‘closed’; ein.
Die Zeilen 31 und 32 sollten jetzt folgendermaßen aussehen:

//$pingstatus = $wpdb->get_var(“SELECT ping_status FROM $tableposts WHERE ID = $tb_id”);
$pingstatus = ‘closed’;

Anmerkung: Die ganz normalen Kommentare bleiben davon völlig unberührt. Lediglich alle Trackbacks werden ab sofort ignoriert.

Siehe auch: Original Forumsbeitrag (engl.)

Man kann sich auch von drdave das Spam Karma Plugin
einmal näher anschauen. Es enthält bereits Elemente, die gegen den Trackbackspam eingesetzt werden können. Diejenigen, die es schon länger benutzen sollten übrigens unbedingt das Plugin updaten.

[Update:]
Leider funktioniert der oben beschriebene Lösungsweg nicht bei der neuen WordPress 1.5 Version. Völlig hilflos müssen wir uns aber dennoch nicht fühlen. Die von Herbert in den Kommentaren bereits erwähnte Lösung, bietet ein komfotables Plugin an, das man mittlerweile auch für die Version 1.5 haben kann.

Tipp: Der von der Wirkung dem Trackback recht ähnliche Pingback funktioniert zwar technisch etwas anders, sollte bei der Gelegenheit aber auch mit der entsprechenden Plugin-Lösung belegt werden.

XHTML | CSS | Atom | RSS | © 2008 by Mathias Hundt | made with WordPress 3.2.1