Spamschutz für Formulare

Captchas & Co.

Schlecht geschützte Formulare sind einer der beliebtesten Angriffspunkte für Spammer. Viele Webseitenbetreiber haben leidvolle Erfahrungen in dieser Richtung gemacht.

Die Verwendung von Captchas als Spamschutz ist recht umstritten. Außerdem empfinden Anwender die Captchas oft auch als einfach nur hinderlich. In dieser Situation bietet nun Visforms einen alternativen Weg, um das Spammen über Formulare zu verhindern. Hierbei müssen keine Captchas eingegeben werden. Diesen eleganten Schutz finden Sie bei keiner anderen Joomla Formularkomponente.

Hinweis: Visforms kommt mit einem eigenen Spamschutz-Plugin.

Auf unserer eigenen Webseite verwenden wir zum Schutz der Formulare allein unser Spamschutz-Plugin. Allein damit erhalten wir in der Regel weniger als 1 Mal pro Monat ein Kontakt-Formular, das Spam enthält. Damit sind wir als Webseiten-Betreiber voll und ganz zufrieden. Wartungsarbeiten haben wir mit dem Betrieb des Spamschutz-Plugin so gut wie gar keine. Denn die eigentliche Arbeit wird an anderer Stelle und gar nicht durch uns geleistet.

Das Visforms Spamschutz-Plugin

Online Datenbanken

Im Kampf gegen Spam und Spammer haben sich im Internet verschiedene Online-Spambot-Datenbanken etabliert. Diese Dienste der sogenannten Blacklist-Provider, können unentgeltlich genutzt werden, um auf der eigenen Webseite wirksamen Spamschutz zu betreiben. Diese speziellen Web-Anwendungen suchen aktiv kontinuierlich nach Spammer IPs und Spammer E-Mail-Adressen. Teilweise nehmen sie auch Verdachtsfälle von Betroffenen entgegen und prüfen diese auf Spam-Verhalten. Die Resultate sind in öffentlich zugänglichen Datenbanken gespeichert.

Spammer IPs und E-Mail-Adressen wechseln häufig und ständig. Deshalb gibt es auch nicht die eine Datenbank, in der alle aktiven Spammer gelistet werden. Das liegt in der Natur der Sache und wenn es eine solche Datenbank gäbe, gäbe es ja auch kein Spamproblem mehr.

Nur Stunden zum Finden und Listen

Die Online-Spambot-Datenbanken sind in der Praxis äußerst effektiv. Neue Spammer IPs und Spammer E-Mail-Adressen werden in der Regel innerhalb von wenigen Stunden gefunden und sofort gelistet. Daher bietet die Verwendung der Datenbanken ein sehr hohes Maß an Schutz. Die Verwendung mehrerer dieser Datenbanken ist genau das, was unser Visforms Spamschutz-Plugin macht.

Manchmal gelingt es Spammern, eine ganz neue Methode zu finden, um Ihren Spam zu verbreiten. Dann kann es vorkommen, dass die Spammer mehrere Tage lang an den Online-Spambot-Datenbanken vorbeikommen. In diesem Fall kann man aber einfach vorübergehend noch ein Captcha zum Formular hinzuschalten. Das Hinzuschalten eines Captcha ist mit Visforms nur ein kleiner konfigurativer Eingriff.

Spamschutz-Plugin standardmäßig aktiviert

Hinweis: Die Verwendung des Spamschutz-Plugins ist standardmäßig aktiviert und mit sinnvollen Defaulteinstellungen eingerichtet.

Es prüft standardmäßig die IP des Senders. Und wenn im Formular ein Feld vom Typ E-Mail vorhanden ist, dann prüft es standardmäßig auch die eingetragene E-Mail-Adresse gegen die Datenbanken von stopforumspam.com und SpamCop.net.

Eine weitere gute Spambot-Datenbank ist die Datenbank von ProjectHoneyPot.org. Diese Datenbank benötigt allerdings einen eigenen kostenlosen Zugangs-Schlüssel, bevor sie verwendet werden kann. Daher ist es nicht möglich, ProjectHoneyPot.org standardmäßig zu aktivieren.

Alle Einstellungen Formular-spezifisch

Sie können alle Einstellungen für das Spamschutz-Plugin für jedes Formular getrennt in der Formularkonfiguration unter dem Reiter “Spamschutz” an Ihre Erfordernisse anpassen.
Das Spamschutz-Plugin bietet Ihnen auch die Möglichkeit eine Whitelists und eine Blacklists anzulegen.
Die Whitelist ist eine Liste von E-Mail-Adressen oder IP-Adressen, die niemals geblockt werden.
Die Blacklist ist eine Liste von E-Mail-Adressen, die immer geblockt werden.

Eigenheit von sorbs.net

Der Provider sorbs.net hat die Eigenheit, dass er teilweise ganze IP-Sub-Netzwerke als Spam klassifiziert. Das macht er teilweise selbst dann, wenn innerhalb des Sub-Netzwerks nur eine einzige IP vorhanden ist, von der aus Spam verschickt wird. Dies führt nach Aussage von Visforms-Nutzern dazu, dass unter ungünstigen Bedingungen viel zu viele IPs geblockt werden. Im Moment sind wir dabei, diesen Hinweisen weiter nachzugehen.

Hinweis: Aktuell raten wir davon ab, sorbs.net als Provider zu nutzen, falls Sie derartige Probleme bei sich feststellen.

Besonderheiten der E-Mail Whitelist

Nur in Ausnahmefällen

Prinzipiell sollte es nur in Ausnahmefällen nötig sein, Personen auf eine Whitelist zu setzen. Wenn sehr viele Ihrer Nutzer irrtümlich durch das Plugin geblockt werden, dann müssen Sie die Einstellungen des Plugins anpassen. Insbesondere die verwendeten Provider sind ausschlaggebend. Siehe auch ‘Eigenheit von sorbs.net’ weiter oben.

E-Mail Whitelist bietet zwei Formate

Es ist gelegentlich nötig oder gewünscht, bestimmte Benutzer auf eine Whitelist zu setzen.
Die E-Mail Whitelist bietet Ihnen zwei strukturell unterschiedliche Formate:

  • als domain basierte Liste, d.h. eine Liste von domains
    im Format @domain1.com,@domain2.com, oder
  • als Liste von E-Mail-Adressen
    im Format Diese E-Mail-Adresse ist vor Spambots geschützt. Zur Anzeige muss JavaScript eingeschaltet sein., Diese E-Mail-Adresse ist vor Spambots geschützt. Zur Anzeige muss JavaScript eingeschaltet sein., Diese E-Mail-Adresse ist vor Spambots geschützt. Zur Anzeige muss JavaScript eingeschaltet sein..

Zuerst das Format festlegen

Sie müssen zuerst mit der Option “E-Mail Whitelist ist Domain basiert” festlegen, welches Format Sie verwenden wollen. Früher hieß diese Option: “Generische E-Mail in Whitelist erlauben?". Anschließend können Sie im Feld “E-Mail Whitelist” eine kommaseparierte Liste der Adressen im korrekten Format eingeben. Es ist nicht möglich, die beiden Formate zu mischen.

Unterschied zwischen den Einstellungsebenen

Einstellungen, die Sie in der globalen Konfiguration für Visforms vornehmen, wirken als Vorlage für Voreinstellungen. Sie dienen als Erzeugungs-Vorlage, wenn Sie ein neues Formular anlegen und werden ausschließlich zu diesem einen Zeitpunkt angewendet. Es werden allein die aktuellen Einstellungen aus der Formularkonfiguration verwendet, wenn jemand das Formular abschickt.

Captchas im Formular anzeigen

Visforms unterstützt sowohl ein eigenes Captcha als auch das für Joomla 4 favorisierte Google Recaptcha.
Um das Visforms Captcha zu verwenden, reicht eine einfache Einstellung in der Formular-Konfiguration aus.
Um die Google-Recaptcha-Option verwenden zu können, muss zusätzlich das Joomla Recaptcha-Plugin im Plugin Manager aktiviert und richtig konfiguriert sein.

alternativ oder kumulativ

Captchas und Spamschutz-Plugin können alternativ oder kumulativ (gleichzeitig) verwendet werden. Die Einstellungen sind Formularoptionen, die Sie in der Formularkonfiguration auf dem Reiter “Spamschutz” vornehmen. Sie können folglich für jedes Formular einzeln eingestellt werden.

Auf Reiter “Spamschutz” aktivieren

Die Verwendung von Captchas wird über die Option “Captcha benutzen” in der Formularkonfiguration auf dem Reiter “Spamschutz” aktiviert. Die Option Captchas benutzen bietet drei Einstellungsmöglichkeiten:

  • Keine
  • Visforms Captchas
  • Recaptcha Plugin (für die Verwendung des Google Recaptcha)

Besonderheiten des Visforms Captcha

Im Vergleich zum Google Recaptcha ist das Visforms Captcha bei gleicher Sicherheit etwas leichter zu entziffern, wodurch es effektiver für den Anwender wird.

Es ist sehr vielfältig individuell für jedes einzelne Formular konfigurierbar, darunter etwa:

  • Wahl zwischen Text-Aufgabe oder Rechenaufgabe,
  • Wahl des Grads der Unleserlichkeit des Bildes,
  • und viele weitere Eigenschaften.

Das Visforms Captcha ist komplett DSGVO-konform.
Insbesondere tragen die folgenden Punkte zur Sicherstellung einer absoluten Konformität bei:

  • Es nutzt keine externen Plattformen, etwa Google.
  • Es speichert keinerlei Daten.
  • Der Code für das Visforms Captcha kommt zu 100 % von Visforms und ist es keine Erweiterung eines Dritt-Anbieters.
  • Es gibt keine externen Schnittstellen, deren Änderung wir nicht kontrollieren können.

Bei der Verwendung der Visforms Captchas treten die beiden folgenden Fallstricke nicht auf.

Hinweis: Bitte beachten Sie, dass das Google Recaptcha so entwickelt wurde, dass immer nur ein Captcha pro Seite angezeigt werden kann.

Sie können Visforms Formulare als Modul, in einem Beitrag als auch als Komponente anzeigen. Das Google Recaptcha kann auch im Joomla-Login und bei Joomla-Kontaktformularen verwendet werden. Es ist also leicht möglich, dass Sie eine Seite generieren, auf der mehr als ein Google Recaptcha angefordert wird. Das funktioniert in der Praxis aber nicht, aufgrund der fehlenden Multi-Instanz-Fähigkeit des Google Recaptcha. Bitte stellen Sie durch Konfiguration von Modulen und Komponenten sicher, dass immer nur ein Formular mit Google Recaptcha pro Seite angezeigt wird.

Hinweis: Das Google Recaptcha kommt mit einer festen und kaum zu beeinflussenden Breite.

Diese feste Breite des Google Recaptcha kann dazu führen, dass Formulare nicht in den Modulbereich Ihrer Webseite hineinpassen.

Besonderheiten des Google Recaptcha Plugins

Plugin aktivieren und Ihre Schlüssel eingeben

Recaptcha ist ein freier Service von Google und bekannt für seine sehr hohe Sicherheit. Man benötigt zwei Zugangs-Schlüssel von Google, bevor man diesen Service nutzen kann. Joomla hat sich dafür entschieden, dieses Captcha-System als Standard in das CMS aufzunehmen. Es wird und über ein Plugin vom Typ “Captcha” nutzbar gemacht. Sie müssen dieses Plugin aktivieren und Ihre Zugangs-Schlüssel dort eingeben, bevor Sie ein Recaptcha im Formular verwenden können. Informationen, wie Sie die Zugangs-Schlüssel erhalten finden Sie direkt im Joomla Plugin.

Aussehen von Google festgelegt

Hinweis: Das Aussehen des Recaptcha wird von Google festgelegt und es gibt wenig Möglichkeiten etwa die Größe des Captchas zu beeinflussen. Wenn Sie ein Formular mit Recaptcha in einem Modul verwenden, kann es vorkommen, dass das Recaptcha nicht hinein passt.

Nicht “multi-instanz-fähig”

Wichtig: Google Recaptcha ist von Haus aus nicht "multi-instanz-fähig". Es bedeutet, dass auf einer spezifischen Seite immer nur ein Formular angezeigt werden kann, das ein Recaptcha verwendet.

Sie können aber auf einer Seite mehrere Formulare unter Verwendung des Visforms Captcha anzeigen. Und sie können auf einer Seite ein Formular mit Recaptcha plus weitere Formulare mit dem Visforms Captchas anzeigen. Mehrere Formulare können etwa auf einer Seite stehen, wenn Sie Formulare in Modulen anzeigen und mehrere solcher Formular-Module auf einer Seite anzeigen.

Sonstige Captcha Einstellungen

In der Formularkonfiguration im Reiter Spamschutz können Sie weiterhin ein individuelles Captcha Label vergeben oder die Anzeige des Labels für das Captcha unterdrücken. Das individuelle Captcha Label wird an Stelle des Default-Labels “Captcha” verwendet.
Weiterhin können Sie einen individuellen Captcha Tip Text vergeben. Dieser wird angezeigt, wenn der Nutzer mit der Maus über das Input-Feld des Captchas fährt.
Weiterhin können Sie eine individuelle Fehlermeldung vergeben. Diese wird angezeigt, wenn der Nutzer vergisst das Captcha einzugeben.

Sie finden für das Visforms Captcha zusätzlich eine große Anzahl an Optionen in der Formularkonfiguration unter dem Reiter “Spamschutz”, mit denen Sie dieses Captcha konfigurieren können. Sie können etwa festlegen, dass ein mathematisches Captcha angezeigt wird anstatt eines Textes.

Das unsichtbare reCaptcha

Joomla hat mit der Version 3.9 ein weiteres Captcha hinzubekommen, das sogenannte ‘unsichtbare reCaptcha’. Bitte beachten Sie, dass Visforms dieses Captcha nicht unterstützt. Aufgrund der Art und Weise wie dieses neue Captcha in Joomla eingebunden wurde, kommt es zu Inkompatibilitäten mit Visforms. Das geschieht dann, wenn Sie in Ihrer Joomla Installation das unsichtbare reCaptcha aktivieren und in Visforms gleichzeitig ein Visforms Captcha aktivieren!

Gründe gegen die Integration weiterer Captchas

Viele unterschiedliche Captcha-Versionen

Es gibt sehr viele unterschiedliche Captcha-Versionen. Visforms unterstützt das mit Joomla ausgeliefert Google ReCaptcha und das Visforms eigene Captcha. Visforms beinhaltet darüber hinaus das Visforms Spamschutz Plugin.

Es gibt hin und wieder eine Anfrage, ob wir dieses oder jenes Captcha zusätzlich in Visforms integrieren könnten.
Wir haben uns aus folgenden Gründen gegen die Integration weiterer Captchas entschieden:

  • Die Integration ist erfahrungsgemäß aufwendig, insbesondere die saubere Darstellung über alle unterstützten UI Frameworks hinweg.
  • Die Captcha-Integration ist eine sehr wartungsaufwendige Stelle in Visforms.
    Dies liegt auch daran, dass sich die Captcha Schnittstellen leider ziemlich häufig ändern.
  • Captchas werden von Webseitenbenutzer in der Regel als lästig empfunden und sollten, wenn irgend möglich vermieden werden.
  • Sollte das Visforms Spamschutz Plugin einmal nicht ausreichen, dann kann man Spambots nach unserer Erfahrung mit einfachen Mitteln sehr effektiv stoppen.
    Etwa, indem man auf einem Formularfeld eine benutzerdefinierte Validierung hinterlegt.

Weitere Möglichkeiten

Die oben gezeigten Maßnahmen sind weitreichend und effektiv, indem sie weitestgehend die Formulare vor Spammern schützen. Zusätzlich gibt es weitere einfache Möglichkeiten, den Schutz noch zu intensivieren. Im Folgenden zeigen Beispiele, wie mit wenig zusätzlichem Konfigurations-Aufwand, der Spamschutz individuell weiter verbessert werden kann.

Einsatz einer benutzerdefinierten Validierung

Besonders einfach geht das, wenn man etwa ein Pflichtfeld “Vor - und Nachname” hat. Dort kann man eine benutzerdefinierte Validierung einbauen. Diese prüft und stellt sicher, dass der eingegebene Text ein Leerzeichen enthält.

Diese Anforderung beeinträchtigt die Nutzung des Formulars durch reale Nutzer überhaupt nicht. Gleichzeitig scheitern Spambots nach unserer Erfahrung absolut schon an dieser simplen Hürde.

Der reguläre Ausdruck für diese Validierung lautet ^\S+\s+.*\S$.

Abrunden kann man das Feature mit einer passenden benutzerdefinierten Fehlermeldung: Bitte geben Sie Ihren Vor- und Nachnamen ein.

Einen eigenen Spambot Honeypot einrichten

Ein verbreitetes und gerne eingesetztes Verfahren ist der individuelle und Formular-spezifische Honeypot für automatisierte Spammer.
Dazu existiert ein fertiges Beispiel aus dem Abschnitt der sehr flexiblen Frontend Webassets: Einen Spambot Honeypot einrichten.