Beiträge mit dem Tag ‘nospamnx’

NoSpamNX 3.0

28. Dezember 2009

Bereits gestern Abend habe ich NoSpamNX um eine Versionsnummer angehoben. Die Version 3.0 wurde im Vergleich zum Vorgänger hauptsächlich in Bezug auf Kompatibilität und Schnelligkeit überarbeitet. Einige Funktionen sind entfernt worden, da diese (basierend auf dem User-Feedback) zu fehleranfällig waren. Dies sind die Funktionen zur Prüfung der Formularfelder für den Login und die Registrierung. Ebenfalls entfernt wurde die Option auch eingeloggte Benutzer zu überprüfen. Hier werden ab sofort alle Benutzer überprüft, egal ob sie eingeloggt sind oder nicht. Auch auf die Möglichkeit aufgehaltene Spambots zu moderieren wird ab Version 3.0 verzichtet. Natürlich kann man nach wie vor Spambots direkt blockieren oder als Spam markieren.

Neu hinzugekommen ist die Möglichkeit, für die verstecken Felder einen eigenen Stylesheet zu benutzen, welchen man z.B. in die CSS-Datei seines Themes integrieren kann. Ebenfalls erweitert wurde die Blacklist, die nun auch nach Mustern im Kommentarfeld sucht. Darüber hinaus wurden die Sprachdateien aufgeräumt und alle “Fuzzy”-Übersetzungen entfernt.

NoSpamNX 2.6 erschienen [2. UPDATE]

8. September 2009

Soeben habe ich die Version 2.6 von NoSpamNX ins WordPress-Plugin-Verzeichnis geladen. Die Version bringt einige kleinere Korrekturen und ein Feature-Update mit sich, auf dessen Idee ich im Rahmen der aktuellen Meldungen über den WordPress-Wurm gekommen bin. Ich weise allerdings ausdrücklich darauf hin, dass die neue Funktion nicht als Abwehrmechanismus gegen den Wurm eingebaut wurde und auch dahingehend nicht getestet wurde!

Das Update ermöglicht es, dass Formular für die Registrierung, als auch für den Login, mit dem selben Mechanismus zu schützen mit dem auch das Kommentar-Formular geschützt wird. Es werden die gleichen, versteckten Felder hinzugefügt, die, genau wie beim Kommentar-Formular, beim Absenden überprüft werden. So ist sowohl die Registrierung, als auch der Login vor automatisierten Zugriffen geschützt.

Die neue Funktion ist standardmäßig deaktiviert und muss zunächst über die Einstellungen aktiviert werden.

[UPDATE]
In das Release hat sich leider ein kleiner Bug eingeschlichen. Version 2.7 wurde soeben nachgereicht.

[2. UPDATE]
Dank des Hinweises eines Nutzers konnte ich einen weiteren Fehler finden und musste deshalb gerade noch mal ein Update nach reichen. Sorry für die Unannehmlichkeiten.

NoSpamNX für PHP-Anwendungen

3. August 2009

Eine Idee, die mir schon seit längere Zeit durch den Kopf geht, ist die Umsetzung von NoSpamNX für die “normale” PHP-Welt. Das größte Problem dabei war die Überlegung, wie man die Daten der verstecken Formularfelder ohne ein System wie WordPress zwischenzuspeichern und gleichzeitig eine größtmögliche Kompatibilität gewährleistet. Immerhin kommt NoSpamNX ohne Sessions, Java-Script oder sonstige “Hilfsmittel” aus. Allerdings kann man sich über WordPress auch der WordPress eigenen Datenbank bedienen. Für einen Formularschutz mit einer Datenbank aufzufahren, war mir dann doch etwas zu viel des Guten. Ich habe mich deshalb für die wohl einfachste Varianten entschieden und verwende für die Zwischenspeicherung die Variante mit Sessions.

Lange Rede, kurzer Sinn: Eine erste Beta von “FormCloud” steht ab sofort zur Verfügung. Mehr Informationen gibt es hier.

NoSpamNX jetzt WP-MU kompatibel

15. Juli 2009

Gerade habe ich ein kleines, aber feines Update von NoSpamNX (Version 2.4) “eingecheckt”. Ich habe mich ehrlich gesagt nie mit WordPress MU beschäftigt, aber dank Alexandre Haguiar ist NoSpamNX jetzt auch WordPress MU kompatibel. Danke!

NoSpamNX 2.0

14. Juni 2009

Knapp drei Monate nach dem ersten Release von NoSpamNX habe ich vor wenigen Augenblicken die Version 2.0 von NoSpamNX in das WordPress Plugin-Verzeichnis geladen. Auf die Anpassungen des neuen Release möchte im Folgenden kurz eingehen.

“Als Spam markieren” nun standardmäßig
Aufgrund der Vielfalt an unterschiedlichen Konfigurationsmöglichkeiten von WordPress kam es in der Vergangenheit bei einigen Blogs dazu, dass NoSpamNX nach einem Update alle Kommentare fälschlicherweise als Spambot erkannte. Hier funktioniert NoSpamNX einfach “zu gut”. Sobald NoSpamNX irgendetwas nicht passt, denkt NoSpamNX, dass es sich um einen Spambot handelt. Deshalb habe ich bereits seit der Einführung der drei Modi “Blockieren”, “Moderieren” und als “Spam markieren” (damals noch in Yawasp), darüber nachgedacht standardmäßig nach einem Update oder einer Neuinstallation den Modus “Als Spam markieren” zu aktiveren. Mit der Version 2.0 habe ich dieses Vorhaben in die Tat umgesetzt. Ich denke, es ist sinnvoller nach einem Update kurz seinen gewünschten Modus einzustellen, als dass alle Kommentare (bei einem kleinen Fehler) blockiert werden. Dies hat allerdings zur Folge, dass NoSpamNX nun mind. WordPress 2.7 benötigt, da es erst ab dieser Version möglich ist, Kommentare (ohne Plugin) als Spam zu markieren. Der empfohlene Modus ist nach wie vor “Blockieren”.

NEU: Blacklist
WordPress selbst bietet standardmäßig eine Blacklist an, mit der man Kommentare nach bestimmten Zeichenkennten filtern kann. Kommt eine solche Zeichenkette in einem Kommentar vor, wird der Kommentar in die Moderation gelegt. Diese Option wurde nun auf NoSpamNX übertragen. Hier wurde der WordPress Code ein wenig “recycled” und angepasst in NoSpamNX implementiert. Ebenso wie die WordPress-Blacklist arbeitet auch die NoSpamNX-Blacklist mit Teilzeichenfolgen. Schreibt man “foo” in die Blacklist und “foobar” wird in das Kommentarfeld eingetragen, wird der Kommentar blockiert. Sinn macht diese Option allerdings nur, wenn NoSpamNX im Modus “Blockieren” arbeitet. Andernfalls kann man auch die WordPress-Blacklist verwenden. Die NoSpamNX-Blacklist sucht nach Mustern in den folgenden Feldern:

  • Autor
  • URL
  • E-Mail

NEU: Referer-Check
Im Zusammenhang mit meiner kleinen Analyse von automatisierten Spambots vor einigen Woche habe ich festgestellt, dass man mit relativ einfachen Mitteln POST-Daten an das WordPress-Kommentar-Formular von einer externen URL senden kann. Es wird leider nicht geprüft, ob der Kommentar auch vom eigenen Blog kommt. Die Option einen Referer-Check bei einem neuen Kommentar durchzuführen hatte ich bereits mit Version 1.8 eingebaut. Dies führte allerdings bei einigen Blogs zu Problemen. Mit NoSpamNX gibt es diese Funktion nun wieder, Optional, standardmäßig deaktiviert, und mit der Möglichkeit den Referer-Check vor dem Aktivieren zu prüfen.

Entfernt: Option NoSpamNX auf bestimmten Beiträgen/Seiten zu deaktivieren
Mit NoSpamNX 2.0 ist es nicht mehr nötig, dass Plugin auf bestimmten Artikeln/Seiten zu deaktivieren. Dies war nur nötig, da bei der Verwendung von Formularen und gleichzeitiger Verwendung von NoSpamNX zu Problemen kam. Die versteckten Felder werden jetzt *ausschließlich* in das WordPress Kommentar-Formular eingefügt.

Entfernt: IP-Adressen Blockieren
Mit der neuen Version wurde die Möglichkeit der Speicherung und Blockieren von IP-Adressen von erkannten Spambots zu Gunsten der neu eingeführten Blacklist entfernt.

Ansonsten gab es neben einigen Code-Optimierungen noch kleinere Anpassungen. Im Vergleich zu NoSpamNX 1.x hat sich der Umfang an Code darüber hinaus um ca. 25% reduziert.

NoSpamNX 1.8 erschienen

9. Mai 2009

Vor wenigen Minuten habe ich die Version 1.8 von NoSpamNX ins WordPress Plugin Verzeichnis geladen. Die neue Version vereinigt den zuvor abgezweigten Branch 1.7.1 wieder in den Hauptstrang. Die in der Version 1.7.1 eingefügten Statistik-Funktionen wurde bei der Vereinigung natürlich entfernt. Die Auswertung der Statistik und welche Verbesserungen dadurch in NoSpamNX geflossen sind gibt es in kurzen. Vielen Dank an alle Blogs die die erweiterte Analyse von dummen Spambots unterstützt haben!

NoSpamNX Spambot Statistik

29. April 2009

Mit der gestriegen Veröffentlichung von NoSpamNX 1.7 hat auch eine weitere Version ihren Weg ins WordPress Plugin Verzeichnis gefunden. Die Branch-Version 1.7.1 basiert auf der Version 1.7, hat aber zusätzlich noch eine Statistik-Funktion. Mehr Information dazu gibt es hier.

Yawasp 4.0 aka NoSpamNX

27. März 2009

Eigentlich hatte ich vor an dieser Stelle über Yawasp 4.0 zu schreiben, aber in die neue Version sind so viele Änderungen eingeflossen, dass gleich ein neues Anti-Spambot-Plugin dabei raus gekommen ist. Wieso, warum und weshalb, darauf möchte ich im Folgenden kurz eingehen.

Keine Änderungen am Kommentar-Template
Eine Eigenschaft von Yawasp, die mich immer gestört hat (die aber notwendig war), war die manuelle bzw. automatische Änderung des Kommentar-Templates. Die Änderung der Namen der Formularfelder ist mit Sicherheit einer der Kernpunkte der eigentlichen Idee, führte aber in manchen Fällen zu Problemen mit anderen WordPress- oder Browser-Plugins. Deshalb war mein Ziel für den nächsten Schritt ganz klar, dass Kommentar-Template so zu belassen wie es ist und wenn überhaupt nur etwas hinzufügen, keinesfalls aber Änderungen an den Namen durchzuführen. Ich war mir von Anfang an bewusst, dass ich damit das Ende von Yawasp einläuten würde, da alle Yawasp Nutzer entsprechende Änderungen in Ihrem Kommentar-Template haben, die dann nicht mehr notwendig sein würden. Ein einfaches Update von Yawasp wäre nicht mehr möglich. Dennoch war mir eine größtmögliche Kompatibilität wichtiger. Doch zunächst musste ich erst einmal heraus finden, ob das Weglassen der Änderungen überhaupt funktioniert und Spambots mit der gleichen Effektivität blockiert werden wie mit Yawasp.

Nach gut vier Wochen Entwicklung, vielen Spambots und vielen Tests bin ich zu dem Ergebnis gekommen, dass eine Modifikation der Namen des Kommentar-Templates nicht (mehr) notwendig ist! Es reicht völlig aus, dass Kommentar-Formular um zusätzliche (versteckte) Felder zu erweitern. Ich setze NoSpamNX in meinem Blog nun seit einigen Wochen ein und erziele die gleichen, sehr guten Ergebnisse wie mit Yawasp.

In NoSpamNX gibt es deshalb keine Modifikation des Kommentar-Templates mehr! Und die Anpassungen, die notwendig sind, macht das Plugin selbständig! Hochladen, aktivieren, fertig!

Änderungen rückgängig machen
Leider hat dies zur Folge, dass alle Yawasp Nutzer die Änderungen am Kommentar-Template rückgängig machen müssen. Natürlich nur, wenn sie Yawasp nicht mehr benutzen möchten oder auf NoSpamNX umsteigen wollen. Hier empfehle ich (nach einer Sicherung des Kommentar-Templates) zunächst die automatische Änderungen innerhalb der Yawasp-Optionen auszuprobieren. Sollte dies fehlschlagen ist eine manuelle Änderungen der comments.php nötig.

Eine Anleitung ist hier zu finden.

Datenbank ade
Bisher wurden die zu blockierenden IP-Adressen in einer separaten Datenbank gespeichert, was mitunter zu einigen Problemen geführt hat. Diese Daten wandern mit NoSpamNX in die WordPress eigene Options-Tabelle, was weniger Datenbankzugriffe zur Folge hat. Allerdings habe ich die Option zunächst auf 100 IP-Adressen beschränkt, um zu sehen, wie das Ganze in einem längeren Betrieb funktioniert. Dieser Wert wird ggf. in einer der nächsten Versionen erhöht. Gute Erfahrungen habe ich bei meinen Tests mit einer einstündigen IP-Sperre gemacht.

Weniger Code
Durch die vielen Änderungen konnte Code eingespart werden. Nimmt man alle Änderungen zusammen, so besteht NoSpamNX nur noch aus der Hälfte des Quellcode im Vergleich zu Yawasp.

Was wird aus Yawasp?
Die weitere Entwicklung an Yawasp werde ich zu Gunsten von NoSpamNX ab sofort einstellen. Bis zum Release von WordPress 2.8 wird es noch Bug fixes (sofern nötig) für Yawasp geben. Spätestens mit dem Release von WordPress 2.8 werde ich dies für Yawasp einstellen. Ich denke, dies ist genug Zeit für eine Umstellung. Sollte jemand Probleme bei dem Rückgängig machen der Änderungen im Kommentar-Template haben, reicht ein kurzer “Hilfeschrei” in den Kommentaren. Ich greife da gerne unter die Arm.

Darüberhinaus gibt es noch einige kleinere Änderungen und Code-Optimierung. Was die Einstellungen angeht, kann man auch in NoSpamNX entscheiden, ob man Spambots blockieren, moderieren oder als Spam markieren möchte.

NoSpamNX steht ab sofort im WordPress-Verzeichnis zum Download bereit. Weitere Informationen gibt es auch auf der neu eingerichteten Plugin-Seite.

P.S: Vielen Dank an Christoph für das Testen!