Leider bin ich aus einem aktuellem Anlass heraus dazu gezwungen die Kommentarfunktion vorübergehend einzuschränken.

Es ist leider nichts neues, das bei einem WordPress-Blog x-Mal pro Tag Spammer versuchen sich in den Kommentaren zu verewigen. Das ist soweit hier erstmal kein Thema, da die Kommentare moderiert sind und nur jemand veröffentlichen kann, der einmal sozusagen freigeschaltet wurde. Damit ich nicht am laufenden Band Spam aussortieren muss helfen solche Plugins wie Antispam Bee. So weit, so gut.

Jeder der möchte kann zudem beim Erstellen eines Kommentars angeben, ob derjenige über Neuerungen (zu seinem Kommentar) benachrichtigt werden möchte. Aufgrund der Rechtslage ist dazu ein explizites Einverständnis notwendig und damit wären wir beim Plugin Subscribe to Double-Opt-In Comments, das dafür sorgt das man den entsprechenden Haken bei ” Benachrichtige mich über nachfolgende Kommentare per E-Mail.” setzen muss beim Kommentieren und in Folge eine E-Mail mit folgendem Inhalt erhält:

Hallo,

bitte klicke auf den folgenden Link, um die Benachrichtigungen zu aktivieren: https://www.andysblog.de/?wp-subscription-manager=1&verify=<ID>

Viele Grüße,
das Blog-Team

Auch das so weit, so gut. Läuft, passt. Jetzt kommen wir zum eigentlichen aktuellen Problem:

Leider wird diese Mail auch versendet, wenn ein/e Kommentar-Schreiber*In noch nicht zugelassen ist und das führt bei den Falschangaben (erfundene E-Mail-Adresse, etc.) die Spammer so machen dazu, das es ständig Nachrichten von Mailservern bzw. Providern gibt, das Nachrichten nicht zugestellt werden können, da der Empfänger unbekannt ist, man geblockt wird, usw. Kurzum: Rückstreuung, Backscatter.

Mal zwei Beispiele:

This is the mail system at host <server>.kasserver.com.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

<josecovarrubias@laibecorp.com>: host
d190827b.ess.barracudanetworks.com[209.222.82.252] said: 550 permanent
failure for one or more recipients (josecovarrubias@laibecorp.com:blocked)
(in reply to end of DATA command)

This is the mail system at host <server>.kasserver.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

<lpuppygrandma@aol.com>: host mx-aol.mail.gm0.yahoodns.net[67.195.228.86] said:
552 1 Requested mail action aborted, mailbox not found (in reply to end of
DATA command)

Das nervt alle paar Minuten eine solche E-Mail zu bekommen. Klar, ich könnte diese jetzt einfach ausfiltern, das löst die eigentliche Ursache allerdings nicht. Ferner möchte ich natürlich vermeiden, auf einer Blacklist zu landen.

Eigentlich und ich meine das wäre früher auch mal so gewesen, sollte die Double-Opt-In Mail erst rausgehen, wenn das Kommentar zugelassen wurde. Das scheint im Moment (nach den vielen Updates in der letzten Zeit) nicht der Fall zu sein.

Bis zur Klärung werden aktuell nur Kommentare in deutsch und englisch sowie aus der DACH-Region zugelassen. Einfach bestimmte Länder blockieren hilft leider wenig bis gar nicht, da die Spammer nicht doof sind und beispielsweise via Tor daher kommen.

Es tut mir für alle echten und ehrlichen Kommentatoren Leid, für den Augenblick sehe ich allerdings (außer die Kommentarfunktion komplett zu deaktivieren), keine andere Möglichkeit.

Update 16.03.2021

Leider greifen die Maßnahmen in Sachen Sprach- und Länderfilterung nicht, warum das so ist klär’ ich gerade, vielleicht ist das nur ein Verständnisproblem. Daher erstmal als kleiner Workaround eine IP-Filterung auf Basis von “.htaccess” und z.B. “deny from 109.”.

Wegen des Problems mit Double-Opt-In so findet sich im “debug.log” von WordPress ein Fehler, der auf eine nicht definierte Variable oder ähnliches hindeutet.

Schätze mal, da gibt es mehrere Probleme in verschiedenen Plugins.

Update 17.03.2021

Der Ärger geht leider weiter. Zwischenzeitlich landet meine Mail-Adresse bzw. der Mailserver meines Providers auf der Blacklist, also genau das, was ich gerne verhindert hätte.

Bei allen mir aktuell bekannten betreffenden Plugins habe ich das Thema angesprochen und hoffe auf baldige Lösung:

https://wordpress.org/support/topic/mail-mit-link-wird-verschickt-obwohl-das-kommentar-nicht-zugelassen-ist/

https://wordpress.org/support/topic/problem-mit-sprachen-landern-double-opt-in-comments/

Wie man im Verlauf des Threads bei AntiSpam Bee und in den Kommentaren des Entwicklers von Double-Opt-In-Plugin sehen kann, liegt das Problem wirklich am letztgenannten Plugin. Ich hoffe es findet sich eine Lösung. Mir scheint es nach wie vor so, als ob da etwas schief läuft.

Update 18.03.2021

Die Lage beruhigt sich langsam, es gibt immer weniger Rückstreuung, ein paar “Dinger” hängen wohl noch irgendwo in der Pipeline, diese sollten sich dann ebenfalls quasi von selbst erledigen. Keine richtige Lösung, allerdings ein relativ guter Workaround sieht wie folgt aus:

In den Einstellungen von Antispam Bee die Option “Bei definierten Spam-Gründen sofort löschen” aktivieren und die möglichen Gründe auswählen. In meinem Fall reicht “Honeypot” aus, da alle Spam-Kommentare aus genau diesem Grund entsprechend markiert wurden.

Diese Konfiguration verhindert, dass das betreffenden Kommentar überhaupt groß erfasst wird und so bekommt anscheinend das Plugin “Subscribe to Double-Opt-In Comments” nichts davon mit und sendet in Folge auch keine Mail an die “Spam-Adresse”. Letztlich müsste allerdings dieses Plugin gefixt werden, bislang gab es allerdings keine Reaktion von Tobias, dem Entwickler des Plugins, dazu. Wie ich durch Florian erfahren habe, ist das Problem wohl schon seit 2020 bekannt.

Natürlich entsteht mit der jetzigen Antispam Bee-Konfiguration das Risiko, das etwaige False-Positives ebenfalls betroffen sind, allerdings habe ich seit langem keine mehr gehabt. Dieses Plugin macht schlicht einen verdammt guten Job.

Wenn auch die Umstände unschön waren, so habe ich in Sachen Antispam Bee etwas dazugelernt. So manches war einfach nur eine Sache des Verständnisses. Wenn man z.B. “Kommentarzeit berücksichtigen”, “Kommentare aus bestimmten Ländern blockieren oder zulassen” oder “Kommentare nur in einer bestimmten Sprache zulassen” aktiviert, verhindert das nicht, das jemand (oder ein Bot) ein Kommentar überhaupt schreiben bzw. absetzen kann, aber diese Kommentare werden direkt als Spam markiert.

Weiter klappte zunächst meine Verzweiflungstat mit der “.htaccess” nicht. Es hing dabei an zwei Stellen:

order allow,deny
# Comment Spam
deny from 109.
deny from 107.
deny from 185.
deny from 193.
deny from 178.254.153.
allow from all

Die “Order deny,allow” Griff nicht und bei deny (oder allow) funktioniert ein * als Wildcard nicht. Es genügt mindestens eine Teil-Netzadresse samt Punkt.

Vielen Dank an Thorsten und Florian vom Antispam Bee-Team für die Hilfe. Ebenfalls ein Dankeschön an den Support von ALL-INKL, der mir bei meiner zunächst nicht richtig funktionierenden “.htaccess” geholfen hat.

Update 23.06.2021

Im Großen und Ganzen ist in der Zwischenzeit Ruhe eingekehrt. Ein-zwei hartnäckige wiederkehrende Kommentar-Spammer gibt’s allerdings immer noch. Leider von wechselnenden IP-Adressen, so das Diese nicht ganz so einfach loszuwerden sind bzw. waren. Da allerdings immer der gleiche Name und die gleiche Homepage (URL) verwendet werden, konnten diese über die WordPress-eigene Kommentar-Sperrliste ausgefiltert werden.

Zu finden ist diese übrigens unter

Einstellungen - Diskussion - Kommentar-Sperrliste

In diesem Feld kann man unliebsame Begriffe bzw. Werte eintragen. Anbei der Original-Beschreibungstext:

“Wenn ein Kommentar innerhalb von Inhalt, Namen, URL, E-Mail-Adresse oder in der IP-Adresse eines der unten aufgeführten Wörter oder Werte enthält, dann wird er als Spam markiert. Ein Wort oder eine IP-Adresse pro Zeile. Wortteile werden auch berücksichtigt, also wird durch „press“ auch „WordPress“ gefiltert.”

Kurzum den Namen und die URL eingetragen, gespeichert und siehe da, es ist Ruhe.