Blueforce Spam Protect

Beschreibung

Blueforce Spam Protect prüft jede Absendung deiner Formulare und Kommentare auf deinem eigenen Server. Es gibt kein Captcha, kein Rätsel und, solange du es nicht selbst einschaltest, keinen externen Dienst. Besucherinnen und Besucher merken nichts davon.

Was es ist und was nicht. Das Plugin verringert Spam von Bots. Es kann nicht garantieren, dass jede Spam-Absendung aufgehalten wird, und eine echte Absendung kann gelegentlich verdächtig aussehen. Darum wird nur klarer Spam abgelehnt. Alles, was bloss verdächtig aussieht, wird trotzdem zugestellt und ins Protokoll geschrieben.

Warum noch ein Anti-Spam-Plugin

Viele Spam-Plugins schicken entweder jede Absendung an einen Cloud-Dienst oder stellen deinen Besucherinnen und Besuchern ein Captcha in den Weg. Dieses Plugin tut beides nicht.

  • Alles bleibt auf deinem Server. In der Grundeinstellung geht nichts an einen externen Dienst, und es gibt keinen Spam-Dienst, den du in deiner Datenschutzerklärung nennen musst. Zwei freiwillige Funktionen nutzen StopForumSpam: die Prüfung der IP-Adresse des Absenders und das Melden von Bots. Beide sind in der Grundeinstellung aus, und die Nachricht eines Formulars wird in keinem Fall übermittelt.
  • Kein Captcha. Echte Besucherinnen und Besucher füllen das Formular aus wie immer.
  • Keine echte Anfrage geht verloren. Nur klarer Spam wird abgelehnt. Alles dazwischen wird zugestellt und ins Protokoll geschrieben, so siehst du, warum es verdächtig aussah.
  • Verträgt sich mit Seitencaches. Die Felder fügt ein kleines Skript im Browser ein, der Nachweis wird erst angefordert, wenn jemand beginnt, ein Formular auszufüllen.

So entscheidet es

Jede Absendung sammelt Punkte aus mehreren unabhängigen Prüfungen:

  • Ein verstecktes Feld, das nur Bots ausfüllen.
  • Ein signierter Nachweis, der belegt, dass ein echter Browser die Seite geladen hat. Der Server misst, wie lange das Ausfüllen gedauert hat, der Browser kann das nicht fälschen.
  • Eine kleine Rechenaufgabe, die der Browser im Hintergrund löst, während das Formular ausgefüllt wird (Proof of Work). Besucherinnen und Besucher merken nichts davon, ein Bot bezahlt bei jeder Absendung mit Rechenzeit. Ein Nachweis lässt sich nur wenige Male verwenden.
  • Ob Maus, Tastatur oder Touch benutzt wurden und ob der Browser ferngesteuert ist.
  • Fehlende Browsersprache, Kennungen von Skripten statt Browsern.
  • Links, Stoppwörter und Text in einer unerwarteten Schrift.
  • Werbung im Namen oder in der Signatur: eine Webadresse im Namensfeld oder ein Text, der mit einem Link endet, der den Namen des Absenders trägt.
  • Ob es die E-Mail-Domain überhaupt gibt (DNS-Abfrage, nur wenn sie den Entscheid ändern kann).
  • Zu viele Absendungen von derselben Adresse in kurzer Zeit.

Unter der Schwelle für Verdacht wird eine Absendung angenommen. Verdächtige Absendungen werden zugestellt und ins Protokoll geschrieben. Erst ab der Schwelle für den Block wird eine Absendung abgelehnt, mit einer klaren Meldung an die Person.

Das Plugin schützt ab dem Moment, in dem du es aktivierst, es gibt nichts einzuschalten. Zeigt das Protokoll einmal eine echte Anfrage unter den blockierten, erlaube den Absender mit einem Klick oder erhöhe die Schwelle für den Block.

Funktionen

  • WordPress-Kommentare: Blockierte Kommentare landen im Spam-Ordner, verdächtige in der Moderation. Wer schon einen freigegebenen Kommentar hat, bekommt einen Bonus, damit Stammgäste nicht aufgehalten werden
  • Pingbacks und Trackbacks werden ebenfalls geprüft, ohne die Browser-Prüfungen, die sie nicht bestehen können. Pingbacks der eigenen Website bleiben unberührt
  • Formulare von Elementor Pro
  • Fluent Forms
  • Contact Form 7
  • Ninja Forms
  • Booking Calendar (das Buchungsformular des Plugins «Booking Calendar»)
  • WPForms
  • Forminator
  • MetForm
  • Kontaktformular von Jetpack
  • Gravity Forms (nach den dokumentierten Hooks gebaut, noch nicht an einer echten Installation geprüft)
  • WordPress-Registrierung (wp-login.php?action=register, auf Multisite wp-signup.php): Eine blockierte Registrierung legt kein Konto an, eine verdächtige wird angelegt und protokolliert
  • WooCommerce-Registrierung auf der Seite «Mein Konto», mit denselben Regeln. Die Kasse bleibt absichtlich unberührt
  • Anmeldeformulare von Mailchimp for WordPress (MC4WP): Eine blockierte Anmeldung geht nicht an Mailchimp. Abmelden wird nie blockiert
  • Anmeldeformulare von MailerLite, die im offiziellen MailerLite-Plugin angelegt sind: Eine blockierte Anmeldung geht nicht an MailerLite. Formulare und Pop-ups, die MailerLite von den eigenen Servern ausliefert, kann kein Plugin auf deiner Website prüfen
  • Schützt sofort nach dem Aktivieren, mit einstellbaren Schwellen
  • Protokoll der verdächtigen und blockierten Absendungen mit den Gründen, Zähler für die letzten 30 Tage
  • Eigene Stoppwörter, Ausnahmen und eine Sperrliste für IP-Adressen, Bereiche und E-Mail-Domains. Eine erlaubte IP-Adresse kommt immer durch. Eine erlaubte E-Mail-Domain kommt nur durch, wenn ein echter Browser das Formular gesendet hat und das versteckte Feld leer ist, denn eine Domain kann jede Person eintippen
  • Einen Absender im Protokoll mit einem Klick erlauben oder sperren. IP-Adressen aus diesen Knöpfen verfallen nach 30 Tagen, Freemail-Domains werden nie als Ganzes erlaubt
  • Freiwillig: die IP-Adresse des Absenders bei StopForumSpam prüfen. In der Grundeinstellung aus, übermittelt wird nur die IP-Adresse, und einschalten lässt es sich nur zusammen mit der Bestätigung, dass deine Datenschutzerklärung es erwähnt
  • Freiwillig: Bots, die das versteckte Feld ausfüllen, an StopForumSpam melden, mit deinem eigenen API-Key. In der Grundeinstellung aus, ein eigener Schalter mit eigener Bestätigung. Eine Meldung enthält IP-Adresse, E-Mail-Adresse und Name, nie die Nachricht
  • Die Werkzeugleiste zeigt Administratorinnen und Administratoren, wie viele Absendungen in den letzten 30 Tagen blockiert wurden. Lässt sich in den Einstellungen ausschalten
  • Dashboard-Widget mit den Zahlen der letzten 30 Tage und einem kleinen Diagramm der blockierten Absendungen pro Tag
  • Tests im Website-Zustand: Ist der Schutz aktiv, gibt es Formulare, die er nicht schützt
  • Freiwillige Quarantäne: bewahrt blockierte Absendungen 14 Tage auf deinem eigenen Server auf, damit keine echte Anfrage verloren geht, wenn die Prüfung danebenliegt. In der Grundeinstellung aus, braucht deine Bestätigung, dass die Datenschutzerklärung sie erwähnt. Höchstens 200 Absendungen werden aufbewahrt. Felder, die nach Passwort, Zahlungsangaben oder Uploads aussehen, bleiben weg, erkannt an Name, Typ und Wert. Ausschalten oder das Plugin deaktivieren löscht, was gespeichert ist. Arbeitet mit den Werkzeugen von WordPress für Datenauskunft und Datenlöschung zusammen
  • Textvorschlag für deine Datenschutzerklärung
  • Bereit für Übersetzungen. Deutsch ist dabei, für Deutschland (du und Sie) und für die Schweiz (Sie und du)
  • Entfernt alle seine Daten, wenn du es löschst

Für Entwicklerinnen und Entwickler

  • bf_spam_signals erhält alle Signale vor der Bewertung, zum Beispiel um eine Sperrliste zu ergänzen.
  • bf_spam_checked wird nach jedem Entscheid ausgelöst, mit dem Ergebnis, dem Formular und der IP-Adresse.
  • bf_spam_trusted_proxies (oder die Konstante BF_SPAM_TRUSTED_PROXIES) ergänzt eigene Proxys oder Load Balancer, als Adressen oder Bereiche. Cloudflare und private Adressen gelten bereits als vertrauenswürdig.
  • bf_spam_client_ip überschreibt die Adresse der Besucherin oder des Besuchers als letzten Ausweg.
  • bf_spam_skip_selector lässt Formulare unberührt, die auf einen CSS-Selektor passen.
  • bf_spam_mail_domain_lookup ersetzt die DNS-Abfrage, zum Beispiel in Tests.
  • bf_spam_registration_message ändert die Meldung, die bei einer blockierten Registrierung erscheint.
  • bf_spam_signup_message ändert die Antwort, die bei einer blockierten Newsletter-Anmeldung gesendet wird.
  • bf_spam_pow_bits legt die Schwierigkeit der Rechenaufgabe in Bits fest (Vorgabe 19, 0 schaltet sie aus, jedes Bit verdoppelt den Aufwand).
  • bf_spam_sfs_min_frequency legt fest, ab wie vielen Meldungen bei StopForumSpam eine Adresse als bekannt gilt (Vorgabe 3).
  • bf_spam_sfs_report hat das letzte Wort darüber, ob ein Absender an StopForumSpam gemeldet wird. Mit false lässt es sich verhindern.
  • Mit data-bf-spam-skip an einem Formular bleibt es aussen vor.

Dieses Plugin ist ein unabhängiges Projekt von Blueforce Digital Solutions. Es steht in keiner Verbindung zu Elementor, Fluent Forms, Contact Form 7, Ninja Forms, Booking Calendar, WPForms, Forminator, MetForm, Jetpack, Gravity Forms, WooCommerce, Mailchimp, Mailchimp for WordPress oder MailerLite. Produktnamen dienen nur dazu, die Kompatibilität zu beschreiben.

Datenschutz

In der Grundeinstellung verlässt nichts, was jemand schreibt, deinen Server. Die einzige Anfrage nach aussen ist eine DNS-Abfrage der E-Mail-Domain (nicht der Adresse) über den Nameserver deines Hostings, und nur, wenn das Ergebnis den Entscheid ändern kann. Bei verdächtigen und blockierten Absendungen werden die IP-Adresse und die Domain der E-Mail-Adresse bis zu 30 Tage gespeichert und dann automatisch gelöscht, auch auf Websites, auf denen WP-Cron selten läuft. Erlaubst oder sperrst du einen Absender mit einem Knopf im Protokoll, bleibt die IP-Adresse weitere 30 Tage gespeichert, eine erlaubte E-Mail-Domain so lange, bis du sie entfernst. Nachrichtentexte, Namen und vollständige E-Mail-Adressen werden nicht gespeichert, ausser du schaltest die freiwillige Quarantäne ein: Sie bewahrt blockierte Absendungen 14 Tage auf deinem eigenen Server auf, damit du sie im Protokoll lesen kannst. Ein Textvorschlag für deine Datenschutzerklärung steht unter Einstellungen, Datenschutz.

Schaltest du die freiwillige Prüfung bei StopForumSpam ein, wird die IP-Adresse des Absenders beim Absenden eines Formulars an stopforumspam.com übermittelt. Schaltest du das freiwillige Melden ein, werden die IP-Adresse, die E-Mail-Adresse und der Name eines Bots, der das versteckte Feld ausgefüllt hat, an stopforumspam.com übermittelt und dort veröffentlicht. Die Nachricht eines Formulars wird nie übermittelt. Siehe «Externe Dienste» weiter unten.

Externe Dienste

Dieses Plugin kann sich mit StopForumSpam (https://www.stopforumspam.com) verbinden, einem Dienst, der die Adressen bekannter Spammer sammelt. Es gibt zwei getrennte Funktionen. Beide sind freiwillig und in der Grundeinstellung aus, und jede lässt sich in den Einstellungen nur zusammen mit einer eigenen Bestätigung einschalten, dass deine Datenschutzerklärung sie erwähnt.

1. Den Absender prüfen. Ist die Funktion eingeschaltet, sendet das Plugin die IP-Adresse des Absenders an https://api.stopforumspam.org/api, jedes Mal, wenn ein geschütztes Formular oder ein Kommentar abgesendet wird, um zu erfahren, ob die Adresse als Spammer gemeldet ist. Sonst wird nichts übermittelt: keine Nachricht, kein Name, keine E-Mail-Adresse. Die Antwort wird einen Tag lang gemerkt, dieselbe Adresse wird in dieser Zeit also nicht noch einmal übermittelt. Nichts wird übermittelt bei Seitenaufrufen, bei Absendern in deinen Ausnahmen oder wenn eine Absendung schon aus einem anderen Grund blockiert ist. Antwortet der Dienst nicht, wird die Absendung behandelt, als wäre die Prüfung aus.

2. Spammer melden. Ist die Funktion eingeschaltet und hast du deinen eigenen API-Key von StopForumSpam eingetragen, sendet das Plugin eine Meldung an https://www.stopforumspam.com/add, wenn eine Absendung blockiert wird, weil das versteckte Feld ausgefüllt war, ein Feld, das Menschen nie sehen, und die Absendung mindestens ein weiteres Zeichen eines Bots zeigt (zum Beispiel kein JavaScript, keine Interaktion oder ein ferngesteuerter Browser). Das zweite Zeichen ist nötig, weil ein Werkzeug zum automatischen Ausfüllen das versteckte Feld auch bei einem echten Menschen füllen könnte: Diese Absendung wird blockiert, aber nicht gemeldet. Die Meldung enthält die IP-Adresse, die E-Mail-Adresse und den Namen oder Benutzernamen aus dem Formular, einen festen Satz als Beleg und deinen API-Key. StopForumSpam verlangt diese drei Angaben für eine Meldung und veröffentlicht gemeldete Einträge in seiner Datenbank. Die Nachricht wird nie übermittelt. Nichts wird gemeldet bei blossem Verdacht, bei Absendern in deinen Ausnahmen, bei angemeldeten Benutzerinnen und Benutzern, bei privaten Adressen oder wenn das Formular keinen Namen oder keine E-Mail-Adresse hat. Jede Adresse wird höchstens einmal pro Tag gemeldet. Das Plugin speichert den gemeldeten Namen und die E-Mail-Adresse nicht. Öffnest du die Einstellungsseite mit eingetragenem Key, fragt das Plugin einmal bei StopForumSpam nach, ob der Key gültig ist. Diese Anfrage enthält nur den Key, und das Ergebnis erscheint als grünes oder rotes Licht neben dem Feld.

Die Daten gehören StopForumSpam und werden nach dessen Bedingungen genutzt: Nutzungsbedingungen, Lizenz, Datenschutzerklärung.

Screenshots

Installation

  1. Lade den Plugin-Ordner nach /wp-content/plugins/ hoch oder installiere das Plugin über die Seite «Plugins».
  2. Aktiviere das Plugin.
  3. Das ist alles. Das Plugin schützt sofort. Unter Einstellungen, Spam Protect findest du das Protokoll und die Einstellungen.

FAQ

Hält es allen Spam auf?

Das schafft kein Plugin. Blueforce Spam Protect hält den üblichen Bot-Spam auf. Bots, die einen vollständigen, getarnten Browser steuern, können durchkommen, ebenso ein Skript, dessen Autor bereit ist, für jede Absendung Rechenzeit aufzuwenden. Von Menschen geschriebenen Spam erkennen nur die Prüfungen des Inhalts.

Kann jemand ohne JavaScript das Formular nicht senden?

Doch. Ein fehlendes Skript allein zählt nur als Verdacht. Die Absendung wird zugestellt und protokolliert.

Verträgt es sich mit Plugins, die Skripte zusammenfassen oder verkleinern?

Ja. WP-Optimize, Autoptimize, WP Rocket und LiteSpeed dürfen das Skript dieses Plugins in eine zusammengefasste Datei aufnehmen. Das Skript liest seine Einstellungen dann aus einem kleinen Meta-Tag im Kopf der Seite. Leere den Seitencache einmal nach dem Installieren oder Aktualisieren.

Funktioniert es mit Cloudflare oder einem Proxy?

Ja. Hinter Cloudflare nutzt das Plugin die Adresse der Besucherin oder des Besuchers, die Cloudflare weitergibt, aber nur, wenn die Anfrage wirklich von einer Cloudflare-Adresse kommt. Hinter einem Load Balancer oder Proxy mit privater Adresse liest es X-Forwarded-For von rechts. Einen Proxy mit öffentlicher Adresse ergänzt du mit dem Filter bf_spam_trusted_proxies oder der Konstante BF_SPAM_TRUSTED_PROXIES. Kopfzeilen von allen anderen werden ignoriert, ein Bot kann sich seine Adresse also nicht aussuchen.

Schützt es die Kasse von WooCommerce?

Nein, mit Absicht. Ein Fehlalarm an der Kasse würde eine Bestellung kosten. Das Skript lässt die Formulare von Kasse und Warenkorb unberührt, und Konten, die während des Bestellens entstehen, werden nicht geprüft. Geschützt ist nur das Registrierungsformular auf der Seite «Mein Konto».

Mein Formular-Plugin steht nicht in der Liste.

Der Website-Zustand meldet, wenn ein aktives Formular-Plugin nicht unterstützt wird. Dessen Formulare werden dann nicht geprüft.

Kann ich lesen, was blockiert wurde?

In der Grundeinstellung nicht: Das Plugin speichert keine Nachrichtentexte. Mit der freiwilligen Quarantäne werden blockierte Absendungen 14 Tage aufbewahrt und im Protokoll gezeigt, so kannst du eine echte Anfrage beantworten, die irrtümlich blockiert wurde. Blockierte Kommentare liegen immer im Spam-Ordner von WordPress.

Was geschieht mit den Daten, wenn ich das Plugin lösche?

Beim Löschen entfernt das Plugin seine Einstellungen (samt API-Key), seine vier Tabellen (Protokoll, Zähler, Quarantäne und kurzlebige Zähler), seine geplante Aufgabe, seine zwischengespeicherten Werte und die Entscheide zum Bewertungshinweis, auf jeder Website eines Multisite-Netzwerks. Kommentare, die es in den Spam oder in die Moderation verschoben hat, bleiben, wo sie sind, sie gehören zu deiner Website.

Rezensionen

Zu diesem Plugin liegen noch keine Rezensionen vor.

Mitwirkende und Entwickler

„Blueforce Spam Protect“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Blueforce Spam Protect“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Blueforce Spam Protect“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.0.0

  • Erste Veröffentlichung.