Dokumentation

Der Funktionsumfang des Antispam-Plugins für WordPress ist überschaubar und konzentriert sich im Wesentlichen auf die Abwehr der Spam-Einträge via Kommentare und Pings. Die meisten Funktionen der Anwendung lassen sich über das Panel mit Einstellungen steuern, um das gewünschte Resultat des Schutzes zu bestimmen. Nachfolgend wird jede einzelne Option des Tools vorgestellt. Seit Version 2.4.5 besteht die Optionsseite aus drei Hauptsäulen mit Wahlmöglichkeiten. Die Spalten sind flexibel und reihen sich abhängig von der Fensterbreite nebeneinander an. Nachfolgend werden die einzelnen Spalten als separate Bereiche mit Plugin-Einstellungen vorgestellt.

Antispam-Regeln

Filter in den Antispam Bee Einstellungen

Die Reihenfolge der gelisteten Filter entspricht exakt der Prüfungshierarchie im Plugin-Core. Die Rangordnung wurde nicht etwa zufällig festgelegt, der Fokus liegt auf der Entlastung der eigenen Datenbank.

Genehmigten Kommentatoren vertrauen

Autoren mit bereits freigegebenen Kommentaren wird nach dem Aktivieren der Option immer vertraut. Kommentare dieser Nutzer werden zu keiner Zeit geprüft bzw. in Frage gestellt. Die E-Mail-Adresse dient als Identifikator. 

Kommentatoren mit Gravatar vertrauen

Antispam Bee prüft auf die Existenz eines gültigen Gravatars. Kommentatoren mit Gravatar wird vertraut, weitere Antispam-Prüfungen des Kommentars entfallen. 
Datenschutz: Das Gravatar-Bild lässt sich anhand der MD-5-verschlüsselten E-Mail-Adresse des Kommentators ermitteln (personenbezogener Daten nicht erlaubt). Anderweitige Daten des Kommentators wie z.B. die IP-Adresse sind kein Bestandteil der Übertragung. Die Einstellung ist optional und im Auslieferungszustand nicht aktiv. 

Kommentarzeit berücksichtigen

Berücksichtigung der Kommentarzeit. Details im Blog.

BBCode-Links als Spam einstufen

Bei zahlreichen Spam-Kommentaren handelt es sich um reinen Forum-Spam, welcher massenhaft an WordPress-Blogs verschickt wird. Ob es sich dabei um ein Missgeschick der Programmierer handelt, bleibt ungeklärt. Fakt ist: Kommentare mit BBCode-Links im Inhalt sind eindeutig Spam. Es sei denn, im Blog wurden WordPress-Plugins installiert, um Kommentatoren die Nutzung von Bulletin Board Code zu erlauben. Ist Letztes der Fall, so darf die Einstellung nicht eingeschaltet werden. Bei aktiver Option prüft Antispam Bee ankommende Kommentare auf die Existenz von BBCode-Links. 

IP-Adresse des Kommentators validieren

Als zusätzliche Erkennungsmethode zieht Antispam Bee verfügbare Netzwerkinformationen des Absenders (z.B. Hostname) heran und wertet diese anonym und gewinnbringend aus. Die Analyse erfolgt direkt im Blog ohne externe Dienste. 

Reguläre Ausdrücke anwenden

Es gibt Spam-Kommentare, die entsprechen einem bestimmten Muster. Diese Schwachstelle nutzt Antispam Bee aus, um unerwünschte Kommentar-Einträge zu filtern. Hierzu werden auf Attribute eines WordPress-Kommentars (Kommentartext, E-Mail-Adresse, Link und IP) vordefinierte und/oder durch Plugin-Nutzer festgelegte Reguläre Ausdrücke angewendet. Die Suche soll eindeutige Zusammenhänge erkennen und Ankömmlinge als Spam einstufen. Erfahrene Anwender können also eigene Filter kreieren, welche Antispam Bee zu Spam-Erkennung nutzt. Dafür wurde eine Schnittstelle geschaffen, die weitere Regeln für Reguläre Ausdrücke annimmt und verarbeitet. Ein Beispiel auf der Hooks-Seite der Dokumentation zeigt die Methodik der Filter-Erweiterung. Sieht simpel aus, doch die Option ist sehr mächtig und vielfältig: Benutzerdefinierte und an die aktuelle Art des Spam-Aufkommens angepasste Antispam-Regel lassen sich jederzeit bestimmen. Fazit: Schnellere Reaktion bei weniger Spam. 
Einschränkung: Nur für Kommentare 
Hook: antispam_bee_patterns 

Lokale Spamdatenbank einbeziehen

Antispam Bee gleicht die URL, IP- und E-Mail-Adresse abgegebener Kommentare mit lokal verfügbaren Werten der bereits als Spam gekennzeichneten Kommentare ab – diese befinden sich in der Blog-Datenbank. Im Klartext: Existiert im Blog bereits ein Spam-Eintrag mit identischer IP oder URL oder E-Mail-Adresse, so wird auch dieser Versuch zu kommentieren als Schädling eingestuft und je nach Einstellungen entsprechend behandelt (markiert oder gelöscht). Für die steigende Effektivität der Option durch einen reichhaltigen Datenbestand an lokalem Spam, gehört die Option “Erkannten Spam kennzeichnen, nicht löschen” aktiviert. Eine größere Datenmenge bedeutet automatisch eine höhere Trefferquote für eingehende Spam-Versuche innerhalb eines WordPress-Blogs. 

Bestimmte Länder blockieren bzw. erlauben

Antispam Bee ist in der Lage das Herkunftsland eines Kommentars anhand der verwendeten IP-Adresse zu identifizieren. Auf diesem Merkmal basierend können abgesetzte Kommentare und Trackbacks aus festgelegten Ländern unterbunden (z.B. aus Asien) oder explizit freigegeben (z.B. nur Europaländer) werden. Der Länderfilter befindet sich kurz vor dem Ende der langen Prüfroutine, wird also mit einer niedrigen Priorität behandelt. Würde also ein Kommentar alle Schutzmaßnahmen bestehen, entscheidet am Ende dieser Filter, ob das Element als valider Kommentar durchgeht. Die Funktion ist also eine weitere, manuell justierbare Prüfmethode des Antispam-Plugins. Beim Aktivieren der Option kommen zwei zusätzliche Felder zum Vorschein, die dem Filter als Grundlage dienen: Blacklist & Whitelist. Entweder oder: Nur eine der Listen darf gefüllt sein, eine Kombination aus beiden Datenbeständen ist nicht möglich. Ist die Plugin-Option „Eingehende Ping- und Trackbacks ignorieren“ in der Spalte SONSTIGES aktiv, so werden Trackbacks vom Ländercheck ausgeschlossen. In der Blacklist werden zweistellige Ländercodes im ISO-Format Leerzeichen-separiert eingetragen. Kommentare dieser Länder blockiert das Plugin, andere Länder sind freigegeben. Beispiel: CN US – unterbindet alle Kommentare aus China und den USA, die Restwelt hat dagegen freie (Kommentar-)Eintritt. Die Whitelist verwaltet Ländercodes, die eine exklusive Genehmigung zum Kommentieren haben. Leser nur aus diesen Ländern dürfen Kommentare und Pings hinterlassen, Einträge der restlichen Region werden automatisch als Spam eingestuft und behandelt. Beispiel: DE AT CH als Wert erlaubt nur Deutschland, Österreich und die Schweiz als Kommentatorländer. Der Rest wird nicht freigeschaltet.
Datenschutz: Zur Ermittlung des geografischen Standortes sendet Antispam Bee die anonymisierte, also gekürzte IP-Adresse des Kommentators an die API des Online-Dienstes IP2Country. Anderweitige Daten des Kommentators oder des verwendeten WordPress-Systems sind kein Bestandteil der Übertragung. Die Einstellung ist optional und im Auslieferungszustand nicht aktiv. HTTPS-Verbindung. 

Kommentare nur in einer Sprache zulassen

Der meiste Spam fällt durch seine “unpassende” Sprache auf: Englische Kommentare verfasst in einem deutschsprachigen Blog sind meist unerwünschte Werbebotschaften – je nach Zielgruppe des Blogs gibt es sicherlich Ausnahmen. Dieses Kriterium nutzt Antispam Bee für die Spam-Erkennung und Bekämpfung. Nach der Aktivierung des Schalters und der Auswahl gewünschter Sprache, sorgt das WordPress-Plugin dafür, dass Kommentare ausschließlich in gewählter Sprache zugelassen werden. Kommentareinträge in anderen Sprachvariationen stuft das Tool permanent als Spam ein.

Datenschutz: Zur Ermittlung der Sprache wird franc genutzt. Dabei überträgt Antispam Bee den Kommentartext an den Online-Dienst über eine HTTPS-Verbindung. Anderweitige Daten des Kommentators oder des verwendeten WordPress-Systems sind kein Bestandteil der Übertragung. Die Einstellung ist optional und im Auslieferungszustand nicht aktiv. 


Einschränkung: Nur für Kommentare 

Erweitert

https://raw.githubusercontent.com/pluginkollektiv/assets/master/antispam-bee/images/antispam-bee-erweitert.png

Erkannten Spam markieren, nicht löschen

Die aktive Option markiert jeden verdächtigen Kommentar und Trackback als Spam. Im inaktiven Zustand löscht Antispam Bee jeden Spamversuch ohne diesen in WordPress zu speichern. Mit der Aktivierung stehen jedem Plugin-Anwender zusätzliche Feinjustierungen zur Verfügung, die nachfolgend erklärt sind. 

Bei Spam via E-Mail informieren

Über eingehende Spam-Kommentare kann der zuständige Blog-Administrator via E-Mail benachrichtigt werden. Die E-Mail beinhaltet Kommentar-relevante Daten und weiterführende Links. Seit Antispam Bee 2.5.7 kann der Filter antispam_bee_notification_subject genutzt werden, um einen benutzerdefinierten Betreff für Benachrichtigungen zu definieren. Mit Hilfe des Filters antispam_bee_notification_recipients können Sie festlegen, wer die Benachrichtigung erhält. 
Hook: antispam_bee_notification_subjectantispam_bee_notification_recipients 

Spamgrund des Kommentars nicht speichern

Im Auslieferungszustand speichert Antispam Bee den Verdachtsgrund in Kommentar-Metadaten. Ermittelte Werte listet Antispam Bee in der separaten Tabellenspalte innerhalb der Übersicht mit Spam-Kommentaren auf. Die aktivierte Option unterbindet die Speicherung des Verdachtsgrundes und blendet die genannte Spalte in der Spam-Übersicht aus. 

Vorhandenen Spam nach X Tagen löschen

Spam-Einträge, die älter als X Tage sind, werden vom Plugin selbsttätig aus der Spam-Übersicht entfernt. Dadurch bleibt die Größe der Datenbank so klein wie nötig. Ist die Option „Lokale Spamdatenbank einbeziehen“ aktiv, ist es wiederum von Vorteil, über eine größere Menge an bereits erkanntem Spam zu verfügen. 

Aufbewahrung gilt nur für …

Die aktive Option gepaart mit der Auswahlbox legt für den ausgewählten Typ eine Ausnahme an. Beispiel: Aufbewahrung gilt für Trackbacks würde verdächtige Kommentare unverzüglich löschen, dubiose Trackbacks werden dagegen als Spam markiert und niemals gelöscht. Bei diesem Beispiel wird Kommentar-Spam stets entfernt, verdächtige Trackbacks können vom Admin geprüft werden. 

Bei definierten Spamgründen sofort löschen

Das vom Plugin künstlich gesetzte und von den meisten Spam-Bots ausgefüllte Formularfeld erkennt zuverlässig nahezu 99 Prozent des gesamten Spam-Aufkommens in WordPress-Blogs. Die „False Positive“-Rate gleicht dagegen einer Null. Wozu dann solchen Spam aufbewahren und darüber per E-Mail benachrichtigt werden? Muss nicht zwingend sein. Antispam Bee 2.4 bringt einen internen Filter mit, welcher den erkannten Spam je nach Verdachtsgrund (siehe unten) sofort löscht. Auf diese Weise lässt der Administrator lediglich Spam-Einträge mit fehleranfälligeren Ursachen (Sprache, Landbegrenzung, etc.) im Kommentarbereich des Blogs aufbewahren. Zur Kontrolle oder für die Lernfähigkeit. Für diesen Zweck hält das Antispam-Plugin eine Liste mit möglichen Verdachtsgründen zur Auswahl bereit. Kommt ein Kommentar bzw. Trackback mit einem der Gründe aus dieser – vom Nutzer selektierten – Liste herein, entfernt das Plugin den Ankömmling ohne zu zögern. „Parasiten“, die aus anderen Gründen als Spam eingestuft sind, markiert Antispam Bee dagegen nach wie vor und verschickt je nach Einstellung eine passende Benachrichtigung. 

Sonstiges

https://raw.githubusercontent.com/pluginkollektiv/assets/master/antispam-bee/images/antispam-bee-sonstiges.png

Statistiken als Dashboard-Widget generieren

Als interaktives Dashboard-Widget im Administrationsbereich: Einen schnellen Überblick über das tägliche Spamaufkommen verschafft der grafisch aufbereitete Zeitverlauf der letzten 30 Tage. 

AntispamBee Statistik Dashboard
Antispam Bee Dashboard Statistik

Spam-Anzahl auf dem Dashboard anzeigen

Diese Option blendet eine zusätzliche Zeile mit der Summe der insgesamt erkannten Spam-Kommentare auf dem Dashboard ein. Die Zahl lässt sich auch im aktuellen Theme ausgeben. Dazu gehört der nachfolgende Code im WordPress-Template an der gewünschten Stelle eingebunden.

<a href="http://antispambee.de">Antispam Bee</a> hat den Blog vor
<?php do_action('antispam_bee_count') ?> Spam-Kommentaren bewahrt

Eingehende Ping- und Trackbacks ignorieren

Standardmäßig werden alle eingehende Ping- und Trackbacks vom Antispam-Plugin analysiert und bei Verdacht zur Spambehandlung markiert. Die Aktivierung dieser Option schaltet die automatische Prüfung der ankommenden Blog-Benachrichtigungen vollständig ab. 

Kommentarformular auf Archivseiten

Typischer Einsatzort eines Kommentarformulars ist die Artikelseite (Posts bzw. Pages). Antispam Bee überwacht an den Stellen die Kommentare auf unerwünschte Werbung. Ist das Kommentarformular auch in anderen Bereichen des Blogs wie z.B. Archivseiten eingebunden, so gehört diese Tatsache durch die Aktivierung der Checkbox an das Plugin kommuniziert, damit Antispam Bee auch hier funktioniert.

Verdachtsgründe – Spamerkennung

Antispam Bee unterscheidet zwischen diversen Verdachtsgründen. Kurz: Aus welchem Grund wurde der aktuelle Kommentar oder Trackback als Spam klassifiziert? Diese Gründe kommuniziert die Antispam-Lösung an Blogger, indem der aktuelle Verdachtsgrund in der Benachrichtigungsmail und im Hinweis [Als Spam markiert von Antispam Bee] in der Kommentarübersicht des Blogs bekannt gegeben werden. Diese Verdachtsgründe sind implementiert und haben folgende Bedeutung:

KennungBedeutung bzw. Funktion
Leere DatenKommentar mit leeren oder unvollständigen Werten
HoneypotBot gerät in ein, für Menschen ausgeblendetes Kommentarfeld
BBCodeBBCode als Spam einstufen
Gefälschte IPIP-Adresse des Kommentators validieren
Regulärer AusdruckReguläre Ausdrücke anwenden
Lokale DatenbankLokale Spamdatenbank einbeziehen
LändercodeBestimmte Länder blockieren bzw. erlauben
SpracheKommentare nur in einer Sprache zulassen

Fail2Ban Logdatei

Das Antispam-Plugin ist in der Lage, erkannten Spam in einer Logdatei zu protokollieren. Das kann sehr nützlich sein, um Spam-Anfragen mithilfe von Fail2Ban bereits auf der Server-Ebene zu erkennen und abzuwehren. Für diesen Zweck kann eine Filterdatei für die Fail2Ban-Konfiguration genutzt werden. Simple Inbetriebnahme der Funktion: In der WordPress-Konfigurationsdatei wp-config.php das Logging für Antispam Bee aktivieren, indem die Konstante ANTISPAM_BEE_LOG_FILE dem Server-Pfad zum Logfile zugewiesen wird. Die Datei muss beschreibbar sein. 
Exemplarisch: define('ANTISPAM_BEE_LOG_FILE', '/var/log/spam.log');
Implementierung: Antispam Bee 2.5.7

Tipps und Tricks

Tipp zu Antispam Bee: Spam-Datenbestand reduzieren

Wir empfehlen, durch Antispam Bee erkannten Spam nicht sofort zu löschen, sondern in der WordPress-Datenbank aufzubewahren – dafür ist die Plugin-Option „Erkannten Spam kennzeichnen, nicht löschen“ zuständig. Der Grund: Bei aktivierter Funktion „Lokale Spamdatenbank einbeziehen“ berücksichtigt Antispam Bee bereits erkannte Spam-Kommentare.

Aber je nach Größe des WordPress-Projektes läuft die Datenbank schnell voll – übertrieben ausgedrückt 😉 Zwar kann das Plugin den Datenbestand nach X Tagen automatisch bereinigen und ältere Einträge löschen, doch es gibt einen Weg, mit einem deutlich kleineren Bestand an verdächtigen Kommentar-Einträgen auszukommen. Und zwar:

Die Plugin-Option „Bei definierten Spamgründen sofort löschen“ aktivieren und dort „Honeypot“ auswählen. Einstellungen speichern.

Ab sofort löscht Antispam Bee jeden Spam-Kommentar, der das unsichtbare Eingabefeld ausgefüllt hat – es handelt sich hier 100 % um einen Spam-Bot. Solche Kommentare braucht man in WordPress nicht speichern, da Bots dieser Art immer wieder die gleiche Technik zum Absetzen des Kommentars verwenden und von Antispam Bee zuverlässig erkannt werden, ohne dabei auf den lokalen Bestand zugreifen zu müssen.

Nach der Umstellung bewahrt Antispam Bee wirklich nur Spam-Kommentare auf, die durch andere Filter-Techniken „aufgefallen“ sind. Die Anzahl an lokalen Spam-Kommentaren reduziert sich somit um ein Vielfaches, ohne Einschränkungen beim Antispam-Schutz.

FAQ

Funktioniert Antispam Bee mit Jetpack, Disqus Comments und anderen Kommentar-Plugins?

Antispam Bee funktioniert am besten mit Standard-WordPress-Kommentaren. Es ist nicht kompatibel mit Jetpack oder Disqus Comments, da diese Plugins die Kommentarfunktion über ein iFrame laden. Auf diese Weise kann Antispam Bee nicht direkt auf das Kommentar-Formular zugreifen.
Es funktioniert auch nicht mit AJAX Kommentar-Formularen.

Speichert Antispam Bee irgendwelche privaten Benutzerdaten und ist es mit der DSGVO konform?

Antispam Bee wird in Europa entwickelt. Sie haben vielleicht gehört, dass wir hier ein bisschen pingelig sein können, wenn es um Privatsphäre geht. Das Plugin speichert keine privaten Benutzerdaten und ist 100% konform mit der DSGVO.

Müssen Theme-Vorlagen bearbeitet werden, damit Antispam Bee funktioniert?

Nein, das Plugin funktioniert ohne dein Zutun. Falls du jedoch möchtest kannst du deine favorisierten Einstellungen selbst festlegen.

Funktioniert Antispam Bee mit gekürzten IP-Adressen?

Grundsätzlich ja. Wir empfehlen den Einsatz von Antispam Bee mit gekürzten IP-Adressen in Kommentar-Metadaten jedoch nicht. Name und E-Mail-Adresse des Kommentierenden sind zur Identifikation nur begrenzt nutzbar. Je vollständiger die IP-Adresse vorliegt, desto zuverlässiger werden Spam-Kommentare erkannt.

Wie können nicht erkannte Spamkommentare gemeldet werden?

Wenn das Plugin einen Spamkommentar nicht erkennen sollte, können diese Kommentare zur Analyse eingereicht werden. Dafür haben wir eine Google Tabelle eingerichtet.

Antispam Bee mit Varnish?

Wenn WordPress mit Apache + Varnish betrieben wird, hat WordPress keine Kenntnis von der IP-Adresse der Seitenbesucher. Dem Plugin fehlt dementsprechend die Grundlage zur Erkennung von Spam. Eine Anpassung der Varnish-Konfigurationsdatei /etc/varnish/default.vcl kann dieses Problem lösen. Dazu muss lediglich die IP-Adresse des Besuchers als X-Forwarded-For im HTTP-Header übergeben werden:

`
if (req.restarts == 0) {
set req.http.X-Forwarded-For = client.ip;
}
`

Gibt es bezahlte Dienstleistungen oder Einschränkungen?

Nein. Antispam Bee ist und bleibt kostenfrei. Egal ob für den Einsatz in privaten oder kommerziellen Projekten. Du kannst es auf beliebig vielen Websites einsetzen.

Hooks

Hooks erlauben es dem Nutzer, den Funktionsumfang eines WordPress-Plugins zu erweitern. Nachfolgende Hooks sind in Antispam Bee hinterlegt und lassen sich via Code ansprechen bzw. steuern:

antispam_bee_patterns

Erweiterung der RegExp-Regeln bzw. der Regulären Ausdrücke. Somit lassen sich benutzerdefinierte und an die aktuelle Art des Spam-Aufkommens angepasste Antispam-Regel jederzeit bestimmen. Fazit: Schnellere Reaktion bei weniger Spam. Dennoch bitten wir diesen Spam zu melden oder die Erweiterung hier auf dem GitHub Repository einzureichen.

Typ: Array

Beispiel:

function antispam_bee_patterns() {
    add_filter( 'antispam_bee_patterns', 'antispam_bee_add_custom_patterns' );
}
add_action( 'init', 'antispam_bee_patterns' );
 
// Einzelne Filter bestimmen (author, host, body, ip, email). Mehrere Reguläre Ausdrücke durch | trennen
function antispam_bee_add_custom_patterns($patterns) {
	
	// Autoren filtern
	$patterns[] = array(
		'author' => 'Autor1|Autor2|Autor3'
	);

	// URL filtern (Beispiel filtert example.de.cool und example.de mit und ohne www.)
	$patterns[] = array(
		'host' => '^(www\.)?example\.de\.cool$|^(www\.)?example\.de$'
	);

	// Kommentarinhalt filtern (Beispiel behandelt 3 oder mehr Links im Kommentar als Spam)
	$patterns[] = array(
		'body' => '(.*(http|https|ftp|ftps)\:\/\/){3,}'
	);

	// IP Adresse filtern (Beispiel filtert 192.168.XXX.XXX)
	$patterns[] = array(
		'ip' => '^(192\.)(168\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
	);

	// E-Mail-Adresse filtern (Beispiel behandelt .xx oder .xxx als Spam)
	$patterns[] = array(
		'email' => '(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.(xx|xxx)+$)'
	);

	return $patterns;
}

antispam_bee_notification_recipients

Dieser Filter ermöglicht es Ihnen zu definieren, wer eine Benachrichtigungsemail erhält.

Typ: Array

Eine Zieladresse hinzufügen:

function add_email_recipients( $recipients ) {
  $recipients[] = 'add_another@recipient.com'; 
  return $recipients;
}
add_filter( 'antispam_bee_notification_recipients', 'add_email_recipients' );

Komplett neue Zieladressen erstellen:

function new_email_recipients( $old_recipients ) {
  $new_recipients = array('new@recipient.com'); 
  return $new_recipients;
}
add_filter( 'antispam_bee_notification_recipients', 'new_email_recipients' );

antispam_bee_notification_subject

Mithilfe dieses Plugin-Filters kann der Betreff der Benachrichtigungsmails nach eigenen Wünschen definiert werden.

Typ: String

ab_get_allowed_translate_languages

Dieser Filter kann dafür benutzt werden die Sprachauswahl für die Funktion Kommentare nur in einer Sprache zulassen anzupassen. 
Seit: Antispam Bee 2.7.1

Typ: Array

Beispiel: Afrikaans zur Liste hinzufügen

add_filter( 'ab_get_allowed_translate_languages', function( $languages ) {
  $languages['af'] = 'Afrikaans';
  return $languages;
});

Alle unterstützten Sprachen finden sich bei Google.