Name: EasyCalcCheck Plus - Version: 3.3.0.0-FREE / 3.3.1.0-PRO / 4.2.0.0-PRO - Typ: Plugin - Lizenz: GPLv3
Beschreibung: Schützt Joomla! Formulare und 3rd Party Erweiterungen durch die Einbindung von Spamschutzdiensten und internen Antispamchecks - Joomla! Extensions Directory
Übersicht über alle Downloads zu dieser Erweiterung: ECC+ - EasyCalcCheck Plus Downloads
Schützt Joomla! Core Formulare und 3rd Party Erweiterungen durch die Einbindung von Spamschutzdiensten und fügt zusätzlich eine Rechenaufgabe, ein verstecktes Feld und eine Zeitsperre hinzu
Plugin: EasyCalcCheck PLUS
Funktion: Schutz gegen Spamnachrichten und Spamregistrierungen
Mitgelieferte Sprachen: Deutsch und Englisch - alle Sprachdateien bei Transifex
Unterstützte 3rd Party Erweiterungen: aiContactSafe, AlfContact, Community Builder, DFContact, Easybook Reloaded, Fox Contact, Flexi Contact, Flexi Contact Plus, JomSocial, Kunena Forum, Phoca Guestbook und Virtuemart
Integrierte externe Spamschutz-Dienste: Google ReCaptcha, hCaptcha, Akismet, Honeypot Project, StopForumSpam, Botscout
Geschichte
Dieses Plugin schützt das Registrierungs- und Kontaktformular vor Spam durch die Einblendung einer kleinen Rechenaufgabe. Ich habe das Plugin um die Operation Subtraktion erweitert und die Möglichkeit, die Operationen im zufälligen Modus anzuzeigen, eingebaut. Der Zahlenbereich kann frei gewählt werden. Des Weiteren gibt es eine neue Option, mit der negative Ergebnisse (bei Subtraktion) verhindert werden können.
Zusätzlich zu der Rechenaufgabe kann ein verstecktes Inputfeld aktiviert werden, welches ausgefüllt einen Fehler verursacht. Nur Spambots füllen das Feld aus, da sie grundsätzliche alle Felder in Formularen mit Werten belegen. Normale Besucher sehen das Feld nicht und umgehen somit diese Falle. Leider ist Nikolai ein kleiner Fehler unterlaufen (Schreibweise einer Variable in der xml-Datei), welcher die Aktivierung des versteckten Feldes unmöglich machte. Ich habe diesen Fehler beseitigt.
Seit der Version 1.5-2 ist eine Zeitsperre eingebaut, die eine zu schnelle Übermittlung verhindert. Spambots übertragen alle erforderlichen Daten meist in einem Satz, um die Prozedur zu beschleunigen. Ein Mensch hingegen braucht länger, um ein Formular komplett auszufüllen. Ist die Zeitsperre gesetzt (in Sekunden), dann wird das Formular erst nach der eingestellten Zeit überhaupt erst angenommen.
In der Version 1.5-3 ist auf Vielfachem Wunsch die Möglichkeit eingebaut worden, das Plugin auch auf der Registrierungsseite von Virtuemart nutzen zu können. Damit gehören die Spam-Registrierungen im Webshop endlich der Vergangenheit an! Zusätzlich wurde das Plugin noch weiter optimiert und erweitert. Nach einer fehlerhaften Eingabe auf der Kontaktseite wird die Kontaktseite auch wieder mit einer Fehlermeldung geladen. Vorher wurde nur die Fehlermeldung in einer weißen Seite ausgegeben. Sind mehrere Kontakte definiert, wird natürlich das entsprechende Kontaktformular durch Erkennung der ID geladen. Nun hat man auch die Möglichkeit 3 Operanden anzuzeigen. Wird diese Option aktiviert, sollten die Werte der einzelnen Operanden aus Sicht der Benutzerfreundlichkeit nicht zu hoch gesetzt werden. Auf der Demonstrationsseite habe ich den Wert zum Beispiel auf 10 gesetzt. Als letztes Feature habe ich noch die Möglichkeit eingebaut, die Zahlen von 0 - 20 als Wörter auszugeben. Also steht z.B.: statt 15 in der Aufgabenstellung fünfzehn. Die Anzeigewahrscheinlichkeit habe ich auf 2/3 (~66%) eingestellt, damit eine ausgewogene Mischung aus Ziffern und Buchstaben entsteht, was die Erkennung durch Spambots erschweren soll. Wird diese Option benutzt, wird zusätzlich im Warnhinweis angezeigt, dass die Lösung nur in Ziffern einzugeben ist.
Nach der Veröffentlichung der Version 1.5-3 hat bembelimen im Joomlaportal eine konstruktive Kritik geschrieben, die die Schwächen des Plugins aufzeichnete. Durch seine Hinweise und Tipps habe ich das Plugin noch mal überarbeitet und optimiert (Version 1-5.4). Es werden nun alle Felder verschlüsselt, was die Erkennung durch Bots erst richtig erschwert, bzw. unmöglich macht. Durch diesen größeren Eingriff lässt sich eine Anmeldung auf der Registrierungsseite nicht durchführen, was jedoch kein Problem sein sollte, denn auf der Registrierungsseite loggt man sich gewöhnlich nicht ein! ;-) Das Ergebnis der Rechnung wird nicht mehr in einem Inputfeld übertragen, sondern als Session-Variable behandelt. Somit lässt sich das Ergebnis nicht durch das Einlesen des Feldes umrechnen. Das versteckte Feld wird über eine Klasse angesprochen, die CSS-Anweisung wird im Head-Bereich ausgegeben. Die gewählte Sprachdatei im VM wird nun automatisch eingelesen und der Button richtig erkannt. Des Weiteren hatten sich 2 Fehler (Start einer 2. Session und eine undefinierte Variable bei einem Funktionsaufruf) eingeschlichen, die in dieser Version bereinigt wurden. Nachträglich habe ich noch zusätzlich dank des Hinweises von Albatros die Darstellung im Beez-Template (bzw. der Nutzung der Layout Overrides des Templates) verbessert.
In der Version 1.5-5 gibt es wieder einige Optimierungen. Pierre G. vom Joomla Extensions Team schrieb mir eine E-Mail, in der er mich darauf hinwies, dass der Eintrag im Extensionsverzeichnis vorübergehend deaktiviert wurde. Es hing damit zusammen, dass in der php-Datei die GPL Lizenz nicht korrekt verzeichnet war. Er bat mich auch, dem überarbeiteten Paket auch die Lizenz in Textform beizulegen. Die Überarbeitung des Paketes habe ich gleich genutzt, um die Version 1.5-5 fertigzustellen. Einige User haben gemeldet, dass die Validierung vor dem Absenden von bestimmten Feldern (E-Mail, Text usw.) nicht mehr funktionierte. Das liegt damit zusammen, dass der Klassenname der Felder bestimmte Namenszusammensetzungen enthalten muss, damit die validate.js die Felder unter Nutzung von Mootools überprüfen kann. In den vorherigen Versionen wurde auch der Klassennamen umgeschrieben, um die Verschleierung noch zu erhöhen. Nun wurde die Verschlüsselung der Felder optional gemacht. Es lassen sich 3 Einstellungen vornehmen: Ja - Ja, mit Validierung - Nein. Nach Möglichkeit sollte die komplette Verschlüsselung gewählt werden. Ist die Validierung erwünscht (und vom Template auch unterstützt in Form eines Selektors .invalid in der CSS-Datei), dann sollten natürlich die 2. Einstellung gewählt werden. Da es in manchen Anwendung zu Problemen kommen könnte, wurde die Option eingebaut, die Verschlüsselung komplett zu deaktivieren. Jedoch sollte das nur im Notfall geschehen, wenn wirklich etwas nicht funktioniert. Durch Deaktivierung der Verschlüsselung werden "die Prinzipien des Captchaschutzes" (bembelimen im Joomlaportal) nicht eingehalten. Michael H. meldete mir, dass die Pdf-Erstellung seit der letzten Version nicht mehr funktionierte. Es liegt an der Nutzung von addCustomTag, das die CSS-Anweisungen in den Head-Bereich schreibt. Die Klasse JDocumentPDF kennt diese Methode nicht, weswegen es zu einer Fehlermeldung kam. Dasselbe Probleme gab es bei der Erstellung einer VCARD, hier geht es um die Klasse JDocumentRAW (Danke an Barnum im Joomlaportal für den Hinweis). Durch eine kleine Abfrage kann man die Nutzung von addCustomTag nur auf den benötigten Seiten einschränken. Die VCARD-Funktion habe ich kurz nach dem Release noch hinzugefügt. Des Weiteren wurde der Code ein wenig überarbeitet und an die PEAR Coding Standards angepasst.
Einige User haben im Joomlaportal gemeldet, dass das versteckte Feld im Formular angezeigt wurde. Nachdem ich einige Tests bei verschiedenen Hoster getätigt habe, konnte ich das Problem lokalisieren. Das Problem war die Erkennung, ob die CSS-Anweisung in den Head-Bereich geschrieben werden soll. Ich habe die Abfrage verbessert, jetzt sollte sie überall richtig funktionieren. Das Downloadpaket wurde entsprechend aktualisiert.
Nachdem mir Michael H. gemeldet hatte, dass die PDF-Erzeugung mit diesem Paket wieder nicht funktionierte, habe ich mir das Ganze etwas genauer angeschaut. Bei genauer Betrachtung fand ich heraus, dass das eigentliche Problem die Aktivierung von suchmaschinenfreundlichen URls war. Die Unterscheidung fand mit Hilfe von Request Variablen statt. Ist jedoch SEO geschaltet, stehen diese beim Aufruf des Konstruktors noch nicht zur Verfügung. Um das Problem mit der PDF Erzeugung zu umgehen, wird nach dem Format abgefragt, welches beim Aufruf der PDF übertragen wird. (?format=pdf)
Nach einem weiteren Gespräch mit Bembelimen habe ich das Plugin noch mal überarbeitet und optimiert. Nun sollte es keine Probleme mehr mit anderen Erweiterungen geben und das Plugin einwandfrei laufen. Andy B. hat mir eine neue englische Sprachdatei zukommen lassen. Neu hinzugekommen ist die Option, die Felder im Virtuemart nicht zu verschlüsseln. Aus Benutzerfreundlichkeit und wegen der "on-the-fly"-Validierung sollte die Option "Virtuemart-Felder verschlüsseln?" auf "Nein" und die Option "Alle Inputfelder verschlüsseln?" auf "Ja, mit Validierung" gesetzt werden.
Nach einigen Hinweisen, habe ich die Virtuemart-Unterstützung weiter verbessert. Das Plugin funktioniert nun auch korrekt auf der Registrierungsseite beim Bestellprozess. Jesus Cordeo hat mir eine spanische Übersetzung zur Verfügung gestellt. Mir wurde mitgeteilt, dass das Warnhinweisbild nicht angezeigt wurde, wenn Joomla in einem Unterordner installiert ist. Das Problem ist auch beseitigt.
In Version 1.5-7 wurde der Botschutz weitgehend ausgebaut. Nun kann das Plugin auch allgemein gegen die Abwehr von Bots und Hackangriffen genutzt werden. Durch den Einbau der Bot-Trap Abfrage, können Bots sehr gezielt und sicher vorm Aufruf der gesamten Seite (nicht nur der Formulare) unterbunden werden. Durch die Möglichkeit, eine Whiteliste und eine Blackliste anzulegen, kann das Skript individuell eingerichtet werden. Um diese Funktion zu nutzen, muss man sich auf Bot-Trap.de registrieren und im Forum vorstellen, um die benötigte Datei page.restrictor.php zu erhalten. Diese muss dann einfach in das Verzeichnis plugins/system/bottrap kopiert werden und schon hat man einen zuverlässigen Schutz gegen Bots. Die Logdatei page.restrictor.log ist im oben genannten Verzeichnis schon beigefügt. Über diese Protokolldatei lassen sich verdächtige Aufrufe auswerten. Durch den SQL Injection und Local file Inclusion Schutz werden unerwünschte Hackversuche auf die Datenbank, auch bei unbekannten Sicherheitslücken, unterbunden. Großes Danke geht an Marco, der mit seinem SQL Injection Plugin die Vorlage für diesen Code lieferte. Die Abfrage der Formulare wurde weiterhin verbessert. Die IP-Adresse der Einträger können mit den gepflegten Blacklisten von StopForumSpam und dem Honeypot Project abgeglichen werden. Stehen die IP-Adresse auf dem Index, können keine Einträge vorgenommen werden. Beim Honeypot Project ist ein kostenlose Registrierung notwendig. Auf der Seite http://www.projecthoneypot.org/httpbl_configure.php kann der erforderliche BL Access Key abgerufen werden. Dieser wird in den Einstellungen des Plugins hinterlegt, damit die Abfrage durchgeführt werden kann. Durch die Nutzung der angebotenen Sicherheitsmechanismen kann eine Joomla-Seite sehr gut gegen Spambots und Hackversuchen abgesichert werden! Die Umschreibung der Ziffern in Wörtern wurde verbessert. Die Wörter lassen sich nun über die Sprachdateien definieren.
Mit Version 1.5-8 wurde ein kleiner Fehler geschlossen und das Plugin weiter optimiert. Ein User hat den Fehler beschrieben, dass bei nur der Aktivierung fürs Kontaktformular eine Registrierung nicht mehr möglich war. Dieses war auf eine fehlende Abfrage in der zuständigen Funktion zurückzuführen. Zuerst wollte ich nur einen kleinen Fix veröffentlichen, aber durch zahlreiche Anfragen habe ich das Plugin weiter aufgebohrt und verbessert. Nun kann die Spamschutzabfrage auch bei der Option "Passwort vergessen?" und "Benutzernamen vergessen?" aktiviert werden. Die Erkennung des Suchstrings in der neuen Version von Virtuemart wurde optimiert, jetzt wird dieser sowohl in der neuen als auch in der alten Version korrekt erkannt. Als besonderes Feature wird die Abfrage nun auch auf der "Frage zum Produkt"-Seite, worüber viel Spam eingegangen ist, eingeblendet. Neu hinzugekommen ist der Spamschutz für den Community Builder. Die Registrierungsseite und "Passwort / Benuternamen vergessen?" werden geschützt. Auf Wunsch aus dem Forum habe ich auch eine Unterstützung für die Komponente QContacts, welche die Joomla Kontaktkomponente erweitert, eingebaut. Zu guter Letzt ist noch eine niederländische Sprachdatei beigefügt worden.
In Version 1.5-9 wurde die Unterstützung von weiteren 3rd Party Erweiterungen eingebaut, die nun auch sicher vor Spambots sind. Folgende Erweiterungen werden nun von EasyCalcCheck Plus unterstützt: ALFContact, AlphaRegistration, CBE, Community Builder, DFContact, Flexi Contact, JomSocial, Phoca Guestbook, QContacts und Virtuemart. Wenn diese Erweiterungen eigene Spamschutzmaßnahmen bieten, sollten diese deaktiviert werden. Somit hat man einheitliches Bild und einen sicheren Schutz vor Spam!
In Version 1.5-10 habe ich 2 weitere, sehr bekannte Antispam-Dienste eingebaut. Mit Akismet werden nicht die IP-Adressen, wie in den anderen Diensten, sondern die eingegebenen Daten selber geprüft. Akismet hat sich in den letzten Jahren zu einem der führenden Spamschutz Dienst entwickelt (sehr hohe Verbreitung in Wordpress Blogs) und erkennt Spameinträge zuverlässig. Um diesen Dienst nutzen zu können, wird ein API Schlüssel benötigt, den man durch eine kostenlose Registrierung auf http://akismet.com/ erhält. Da es immer noch User gibt, die nicht ohne einem Captcha auskommen können, habe ich reCaptcha von Google eingebaut. Dieses Captcha-System ist benutzerfreundlicher als andere Captchas, da man sich die eine Lösung auch vorlesen lassen kann. reCaptcha hat sich in der Vergangenheit als sehr sicher erwiesen und hilft nebenbei noch dabei, Bücher zu digitalisieren. Für die Nutzung wird ein Public und ein Private Key benötigt, die über eine kostenlose Registrierung auf http://www.google.com/recaptcha zu bekommen sind. Einem User ist aufgefallen, dass bei eingeschaltetem Cache das versteckte Feld angezeigt wurde. Natürlich sollte beim Neuladen der Seite das Plugin erneut eingelesen werden, um korrekt zu funktionieren. Nun wird der abgelegte Cache vor dem Anzeigen geleert, um einen einwandfreie Funktion des Plugins zu gewährleisten. Für Rockettheme Template Nutzer habe ich eine zusätzliche Option eingebaut, die den Suchstring anpasst, damit das Layout nicht zerschossen wird. Zusätzlich wurde dem Paket eine griechische Sprachdatei beigefügt, welche das Frontend übersetzt.
In Version 1.5-11 wurde endlich ein lang gewünschtes Feature eingebaut. Nach einer fehlerhaften Eingabe werden die eingegebenen Werte wieder in die dafür vorgesehenen Felder eingetragen. Bei einer Falscheingabe der Spamschutzabfrage geht somit nichts mehr verloren. Damit hat ECC+ aus Sicht der Benutzerfreundlichkeit einen ganz großen Schritt gemacht. Im Zuge dessen gab es natürlich noch die Änderung beim Warnhinweis, der jetzt nur bei deaktivierter Rücksetzung erscheint. Zusätzlich habe ich das Kunena Forum integriert. Der Spamschutz ist nur bei Gästen wirksam. Man kann das Forum nun auch für unregistrierte Besucher bedenkenlos freigeben. Gästen steht die Option "Kurzantwort" nicht zur Verfügung, weil der Spamschutz immer nur bei einem Formular angezeigt wird. Code wurde weiter angepasst, alle Änderungen sind dem Changelog zu entnehmen.
In Version 1.5-12 sind zwei Features eingebaut worden. Mit dem Plugin lässt sich nun der Aufruf der Administrationsseite ohne Eingabe eines selbstgewählten Tokens unterbinden. Somit kann das Backend sehr einfach geschützt werden. Das Token muss folgendermaßen an die URL angehängt werden: /administrator/index.php?token=xxx oder /administrator/?token=xxx. Das Token kann beliebig gewählt werden. Setzt man das Token zum Beispiel auf geheim, ist ein Aufruf der Loginseite nur über /administrator/index.php?token=geheim oder /administrator/?token=geheim möglich. Wird das Token richtig eingegeben, kann der Administrationsbereich auch über die normale URL aufgerufen werden, solange die Session aktiv ist. Testet es ruhig mal hier auf dieser Seite! ;-)
Somit lässt sich die Joomla-Installation nun auch im Backend mit ECC+ schützen!
Tutorial: Administrationsseite von Joomla schützen
Als weiteres Feature ist die Unterstützung von Easybook Reloaded hinzugekommen. Damit kann man das Gästebuch noch weiter absichern. Dafür ist ein Update der EBR auf die angepasste Version 2.0.8.1 notwendig!
In Version 1.5-13 wurden 2 Benutzeranfragen umgesetzt. Es lässt sich einen selbstgewählte Frage stellen. Bei Eingabe der richtigen Antwort kann der Spamschutz gelöst werden. Eine weitere Komponente wird nun unterstützt: Job Board. Eine Komponente, um Stellenangebote zu verwalten. Zusätzlich wurden die Spamdienste Mollom und Botscout integriert. Dafür ist eine Anmeldung bei den Diensten notwendig.
Am 08.03.2011 ist endlich die Version 1.6-1 für Joomla! 1.6 veröffentlicht worden. Somit lassen sich die (vorerst nur) Core-Formulare wirksam gegen Spam schützen. Aufgrund einer fehlenden Abfrage in der Core, wurden viele neue Seiten Opfer von Spambots, da diese sehr leichtes Spiel mit einer Joomla 1.6 Installation hatten. EasyCalcCheck Plus ist das erste Plugin, welches die Spamschutzfunktion in Joomla! 1.6 nachrüstet und somit jede Installation sicher vor Spambot schützt. Das Plugin war eigentlich schon vorher fertig, ich konnte es jedoch nicht vor Joomla! 1.6.1 veröffentlichen, denn die erste Joomla! 1.6 Version hatte einen Bug, der das Laden von Sprachdateien eines Systemplugins verhinderte, sondern stattdessen nur die englische Sprachdateien geladen hat. Mit Version 1.6.1 wurde dieser Bug behoben und ich kann das Plugin endlich auch für Joomla! 1.6 freigeben. Ich wünsche allen viel Erfolg und vor allem keinen Spam! Weitere 3rd Party Komponenten wie in der Version für Joomla! 1.5 folgen bald!
Support gibt es wie immer im Forum, nicht hier im Kontaktformular!
Mit Version 1.6-2 wurden ein paar Fehler des 1. Releases für Joomla! 1.6 bereinigt und die Funktionen weiter ausgebaut. In der 1. Version war eine Registrierung trotz korrekter Eingaben bei aktivierter Formularverschlüsselung nicht möglich. Luby hat als Erster im Forum darauf hingewiesen. Das Problem war die Rücksetzung der Übergabevariablen. In Joomla! 1.6 werden die Variablen nicht wir in Joomla! 1.5 einzeln übergeben, sondern in einem Array. Dadurch musste der Code entsprechend angepasst werden, damit eine Rücksetzung wieder klappt. Ohne Rücksetzung erkennt die Benutzerkomponente die eingegebenen Werte nicht und kann diese auch nicht verarbeiten.
In dieser Version werden die ersten 3rd Party Erweiterungen unterstützt. Zuerst natürlich Gästebuchkomponenten, bei denen ein guter Spamschutz sehr wichtig ist. Easybook Reloaded und Phoca Guestbook können nun komplett mit ECC+ abgesichert werden. Zusätzlich wird der Community Builder gegen Spamregistrierungen geschützt. Alle getesteten Versionen im Changelog!
Die Erkennung des Suchstrings für die Core Komponenten wurde optimiert. Somit lässt sich der Suchstring auch bei Template Overrides bestimmten und der Spamschutz anzeigen. Vorher war der Suchstring fest vorgegeben, was bei einer kleinen Änderung der Ausgabe zum Nichtauffinden führte. Dieses Feature wird ebenfalls noch in der J1.5 Version integriert, da noch immer viele User genau dieses Problem haben, wenn Sie zum Beispiel Templates von Rockettheme, Joomlart oder Yootheme nutzen.
Zusätzlich wurde das Plugin um eine russische Sprachdatei bereichert.
Mit dem Erscheinen der Joomla! Version 1.7 Stable, habe ich ECC+ 1.7-1 veröffentlicht. Es basiert auf der Version 1.6-3 für Joomla! 1.6. Es waren nur minimale Anpassungen notwendig, um das Plugin auch für die neue Joomla! Version lauffähig zu machen. Nun ist man auch in dieser Version sicher vor Spam-Nachrichten und Spam-Registrierungen!
Das Antispam Plugin wurde in der Version 1.7-2 für Joomla! 1.7 fast komplett umgeschrieben. Damit ist die Basis für das Fortbestehen und der Weiterentwicklung des Plugins aufgebaut. Es wurden viele Funktionen verbessert, die in Vergangenheit gelegentlich Probleme bereitet haben. Zusätzlich zu der großen Code-Optimierung wurde die Unterstützung für weitere beliebte Formularkomponenten eingebaut: FoxContact, Kunena Forum, FlexiContact und DFContact. Aufgrund des neuen Aufbaus lässt sich das Plugin sehr schnell und einfach für andere Komponenten erweitern. Mit ECC+ sollte man nie wieder Probleme mit Spamnachrichten oder Spamregistrierungen durch Spambots erhalten. EasyCalcCheck Plus behauptet den ersten Platz im Joomla! Extensions Directory in der Kategorie Captcha und hat in der letzten Zeit den Abstand sogar weiter ausbauen können. Ich danke allen, die meine Erweiterung mit einem Review unterstützen!
In Version 1.7-3 wurden ein paar kleinere Fehler behoben und die Komponente ALFContact ist in die Liste der unterstützten 3rd Party Erweiterungen dazugekommen.
Zeitgleich mit dem Release der Version 2.5 des Cores am 24. Januar wurde die Version 2.5-1 des Plugins veröffentlicht. In der Version 2.5-2 ist die Unterstützung für JomSocial (Registrierung) und Virtuemart (Frage zum Produkt) hinzugekommen.
EasyCalcCheck Plus wurde stetig von mir weiterentwickelt, optimiert und ist mittlerweile in der Version 2.5-7 verfügbar. Es hat eine Gesamtwertung von 4.97 (von möglichen 5 Punkten) im offiziellen Joomla! Extensions Directory erreicht und gehört nun zu den bestbewertesten Erweiterungen überhaupt. Ich danke allen Benutzern!
Features
- Rechenaufgabe - Addition und Subtraktion
- Anzahl Operanden wählbar - 2 oder 3
- Zahlen in Wörtern - Zahlen können als Wörter dargestellt werden
- Verstecktes Inputfeld
- Zeitsperre
- Selbstdefinierte Frage
- Unterstützung für 3rd Party Erweiterungen
- Honeypot Project
- StopForumSpam
- Akismet
- reCaptcha
- hCaptcha
- SQL Injection und Local File Inclusion Schutz
- Backendschutz durch Setzung eines Tokens
- Schutz der Joomla-Formulare: Kontak- und Registrierungsformular
- Autofill - eingegebene Werte werden bei Falscheingabe automatisch wieder eingetragen
- Spamschutz nur Gästen anzeigen lassen
- und noch viele mehr! :-)
Installation
Plugin im Adminmenü über Erweiterungen installieren und unter Erweiterungen - Plugins - System - EasyCalcCheck PLUS anpassen und aktivieren.
Für den Anfang empfehle ich die Standardeinstellungen. Sollte wider Erwarten Spam trotzdem durchkommen, dann kann man einen weiteren Dienstleister wie Akismet aktivieren.
Freuen! ;-) Spam gehört endlich der Vergangenheit an!
Spambots sollten nicht nur mit Hilfe des Plugins clientseitig abgewehrt werden. Mit Hilfe von Blacklists lassen sich die meisten solcher Bots bereits im Vorfeld beim Aufrufen der Website blockieren. Seit Version 1.5-7 können Bots mit Hilfe des Skripts von Bot-Trap am Aufruf der Website gehindert werden. Durch den Abgleich der aktuellen Blacklisten von Honeypot Project und StopForumSpam werden Spammer einfach identifiziert und beim Eintragen geblockt!
Zusätzlich sind große Antispamdienstleister wie Akismet, Mollom, reCaptcha und Botscout implementiert worden, die Spam sehr genau erkennen und filtern!
Tipp: Diese Website und alle meine Demoseiten hatten seit mehreren Jahren keinen einzigen Eintrag oder Registrierung durch einen Spambot mit folgender Konfiguration: mathematische Aufgabe, verstecktes Feld, Zeitsperre und Akismet. Sollte diese Einstellungen nicht reichen, dann kann bei Bedarf ein weiterer Dienst hinzugeschaltet werden.
Hinweis: EasyCalcCheck Plus ist ein System Plugin und kein Captcha Plugin. Die Option "Standard Captcha" in der globalen Konfiguration und in den Einstellungen der Benutzerverwaltung sollte deaktiviert werden. Benutze EasyCalcCheck Captcha, wenn du ein Plugin aus der Captcha-Gruppe benötigst!
Changelog
Version 4.2.0.0-PRO - 2023-08-01
- + JavaScript field - A hidden field is inserted via JavaScript in the protected form to prevent data transmission from spambots. The field will not load if JavaScript is disabled. With this feature in place, spambots that do not have JavaScript support are effectively prevented from flooding the form with spam.
- + The installation script has been updated to include a check for the highest compatible version of Joomla! to avoid any problems caused by using incompatible core versions.
Version 4.1.2.1-PRO - 2023-04-08
- + Added support for Form Builder (SP Page Builder) in the Custom Call feature and improved logic for Ajax form submissions. Thanks to Uwe and Marco for requesting it!
Version 4.1.1.1-PRO - 2023-03-16
- # Allow only hidden (non-visible) checks for the Custom Call feature. Thanks to Christian H. for requesting it!
Version 4.1.1.0-PRO - 2023-03-14
- + Added Rules for transmission via AJAX option. With this option, you may enter rules for extensions that transfer form data via AJAX (JavaScript). Use this feature if the form dynamically sends the data to the server without reloading an entire page. Thus, the plugin will return the server's response to the browser in JSON format. The response contains information on whether the transmission was successful or not. The response can then be processed further with JavaScript. Enter one rule per line; you may define any number of parameters.
- + Added Custom Call support for the newsletter module from AcyMailing. Thanks to Frank D. for requesting it!
Version 4.1.0.0-PRO - 2023-02-18
- Increased technical requirements for Joomla! 4: Increasing Technical Requirements - Core & PHP for Joomla! 4 Pro Extensions.
- + Added Plugin Call feature. Introduced the new plugin group "easycalccheckplus", which allows you to extend the protection of forms with dedicated plugins. Now, 3rd party extensions developers (and the community) can provide custom plugins (or rules with the generic plugin) to integrate components into EasyCalcCheck Plus. I'll share an example plugin for my own component Easybook Reloaded soon!
- + Code optimisations.
Version 4.0.3.1-PRO - 2022-11-13
- + Added CSP Nonce handling. The nonce value is set automatically for inline tags if Content Security Policy (CSP) and the corresponding Nonce option are enabled in the HTTP Headers plugin.
- ^ Added hCaptcha support to the Custom Call implementation. Thanks to Dirk (Deltapapa) for reporting it!
Version 4.0.3.0-PRO - 2022-10-04
- + Added support for Convert Forms using the Custom Call feature.
- Enable the advanced option "Custom Call" in ECC+.
- Add a "Heading" or "HTML" field with the custom syntax {easycalccheckplus} field to your form right before the submit button in the form component. Use the "Help Text" option in the "Heading" field.
- Add the custom CSS class ecc-custom-call in the "Advanced" section of this field. This class will apply some rules to improve the output of the calc check input field.
- Optional: Create a template override of the input fields in ECC+ using the Template Manager and adjust the output to match the form component's output. Use the files with the suffix "Custom" to edit fields from the Custom Call.
- + Added template files for all visible input fields to allow custom adjustments easily. Each input type (calc check, question and hidden) has two variants: the default load and the custom call (file name ends with Custom).
- ^ Improved Custom Call to handle AJAX requests and responses in JSON-Format (instead of redirects).
Version 4.0.2.1-PRO - 2022-09-30
- ! Updated StopForumSpam API endpoint
- # Removed empty string replacement of the Custom Call syntax in the backend. Thanks to Volkmar S. for reporting it!
Version 4.0.2.0-PRO - 2022-09-01
- + Added Pro Security Token validation check. The Pro package contains a token file with an individual security token linked to the user account and checked against the validation server for authenticity.
- ^ Multiple internal code optimisations.
Version 4.0.1.1-PRO - 2022-06-16
- # Improved ReCaptcha and hCaptcha integrations. Thanks to Dirk (Deltapapa) for reporting it!
Version 4.0.1.0-PRO - 2021-11-16
- + Added the built-in Download Key Manager support to enter your Pro Update ID without installing the update helper plugin.
Important: Please copy your personal Pro Update ID using the second copy button in the Pro ID Manager and enter the key in System - Update - Update Sites - Select the entry of the Pro extension and enter the ID into the Download Key field. - ^ Code optimisations
Version 4.0.0.0-PRO - 2021-10-02
- + First Pro release for Joomla! 4.x based on ECC+ Pro version 3.3.0.0-PRO
Version 3.3.1.0-PRO - 2022-07-22
- + Updated rules for Virtuemart (4.0.6). Thanks to Klemens K. for requesting it!
- ^ Code optimisations
Version 3.3.0.0-PRO - 2021-04-26
- + Added IP address blocking functionality - With this option, the plugin blocks IP addresses from accessing the system entirely if they exceed the allowed number of submission attempts. All requests from blocked IP addresses are terminated directly by the plugin. After the specified block time, the IP addresses are removed from the lock list and can access the system as usual again.
- + Added Block direct submissions functionality - With this option, direct submissions of a form are not possible anymore. The form page has to be loaded first before a successful submission is possible. This is important for forms that don't support the session check provided by the core.
- ^ Changed the version number specification. The first number stands for the supported major Joomla! version. The following three numbers follow the Semantic Versioning Specification (SemVer), as it used to be previously.
- ^ Updated manifest file structure
- ^ Improved page cache handling - Using onPageCacheIsExcluded hook to exclude pages with forms where ECC+ is loaded
- ^ Updated language files
- ^ Code optimisations
- # Fixed loginAttemtps error message
Version 3.2.4-PRO - 2021-04-01
- ^ Added the "email" type for the "Keep data on fail" functionality
- ^ Improved the handling if another form is transmitted from the same page where a form is protected by the custom call replacement. Thanks to Manuel for reporting it!
- ^ Syntax for the custom call is removed if the user does not have to solve the spam check, depending on the user status.
- ^ Updated custom field
- ^ Code optimisations
Version 3.2.3-PRO - 2021-01-18
- ^ Maintenance release
- ^ Extended the option "Keep data on fail" to allow this feature in custom calls ({easycalccheckplus}) in forms with empty array name attributes - for instance in BreezingForms. Thanks to Markus M. for reporting it!
- ^ Updated language files and custom field
- ^ Code optimisations
Version 3.2.2-PRO - 2020-08-26
- + hCaptcha - Added the hCaptcha anti-bot service. hCaptcha protects user privacy, rewards websites, and helps companies get their data labeled. Requires a free registration on https://www.hcaptcha.com/!
- + Multilingual Self-Defined Questions - Individual questions and answers can be set for each language.
- First release with increased technical requirements: Increasing Technical Requirements - Joomla! Core & PHP for Pro & Free Extensions
- ^ Updated support for Community Builder (tested with 2.4.5)
- ^ Updated language files and custom field
- ^ Code optimisations
Version 3.2.1-PRO - 2019-05-12
- ! Removed Mollom integration since the project was abandoned. Thanks to Wilderer for reporting it!
Version 3.2.0-PRO - 2019-05-03
- + Added script file for technical requirement checks
- ! Removed Bot-Trap integration since the project was abandoned. Thanks to Wilderer for reporting it!
- ! Removed ROT13 usage
- ^ Improved SQL injection protection - Using raw data for checks
- ^ Correct IP address retrievement for forwarded addresses using a proxy
- ^ Kunena Quick reply button - Added new class name to the search pattern
- ^ Updated code style of imported 3rd party libraries
Version 3.1.6-PRO - 2019-01-16
- + First Pro release based on ECC+ version 3.1.5
Version 3.3.0.0-FREE - 2021-05-03
- ^ Maintenance release
- ^ Removed (optional) frontend link to the project page
- ^ Changed the version number specification. The first number stands for the supported major Joomla! version. The following three numbers follow the Semantic Versioning Specification (SemVer), as it used to be previously.
- ^ Updated manifest file structure
- ^ Improved page cache handling - Using onPageCacheIsExcluded hook to exclude pages with forms where ECC+ is loaded
- ^ Updated language files
- ^ Code optimisations
- # Fixed loginAttemtps error message
Version 3.2.1-FREE - 2021-03-30
- ^ Improved the handling if another form is transmitted from the same page where a form is protected by the custom call replacement. Thanks to Manuel for reporting it!
- ^ Syntax for the custom call is removed if the user does not have to solve the spam check, depending on the user status.
- ^ Updated language files and custom fields
- ^ Code optimisations
Version 3.2.0-FREE - 2020-07-22
- + Important: This version is based on the Pro version with fundamental code changes. You have to reconfigure and save the settings again!
- + hCaptcha - Added the hCaptcha anti-bot service. hCaptcha protects user privacy, rewards websites, and helps companies get their data labeled. Requires a free registration on https://www.hcaptcha.com/!
- + Multilingual Self-Defined Questions - Individual questions and answers can be set for each language.
- First release with increased technical requirements: Increasing Technical Requirements - Joomla! Core & PHP for Pro & Free Extensions
- ^ Updated support for Community Builder (tested with 2.4.5)
- ^ Updated language files and custom fields
- ^ Code optimisations
Version 3.1.6 - 2019-06-29
- + Added Custom Field - Pro Button
- ! Removed Mollom integration since the project was abandoned.
- ! Removed Bot-Trap integration since the project was abandoned.
- ^ Updated Custom Fields
- ^ Updated Project Page URL
- ^ Updated rules for Fox Contact (>= 3.8.2)
- ^ Improved custom call functionality
- ^ Correct IP address retrievement for forwarded addresses using a proxy
- ^ Kunena Quick reply button - Added new class name to the search pattern
- ^ Updated code style of imported 3rd party libraries
Version 3.1.5 - 2018-05-20
- + Mail To A Friend Form - Added support for build-in Mailto component - Thanks to Uwe F. for the feature request
- ^ Updated login form regex since the change in the template was reverted in the latest Joomla! version (see note for version 3.1.4)
- ^ Code Optimizations
- ^ Updated Custom Fields
Version 3.1.4 - 2018-01-31
- # Login form of the core component com_users - Due to a change in the template file, the regex in ECC+ for this form did not match any more. - Thanks to Hans H. for reporting it!
Version 3.1.3 - 2018-01-28
- + reCaptcha v2 - Updated reCaptcha API to version 2 ("I'm not a robot" checkbox) - If you are still using the old reCaptcha (version 1), then you will have to create new keys in https://www.google.com/recaptcha/admin
- ^ Updated Custom Fields
- ^ Updated Language Files
- ^ Updated Cache Purging Function - Joomla! >= 3.8.0
Version 3.1.2 - 2017-05-21
- ^ Updated Custom Fields
- ^ ReCaptcha is loaded over HTTPS
- ^ Question - Added required class for client-side validation
- ^ Changed Update Server URL to ecc_legacy.xml (next feature version 3.2.x will exclude 3rd party extensions in separated plugins)
- # Fixed Cache Purging Function - For System Cache Plugin
- Tested and updated support for 3rd party extensions with the latest versions:
- Easybook Reloaded - 3.3.1
- Phoca Guestbook - 3.0.6
- FlexiContact - 10.05
- ALFContact - 3.2.6
- Kunena Forum - 5.0.7
- Community Builder - 2.1.2
Version 3.1.1 - 2015-12-22
- # Encode Input Fields - Fixed compatibility of this feature for Joomla! 3.4.7. For more details see: https://docs.joomla.org/J3.x:Backward_Compatibility_in_Joomla_3.4.7
Version 3.1.0 - 2015-07-31
- + Donation Code Validation Process - Improved the validation process with a new server (HTTPS request) plus an independent, separated fallback server (HTTP request).
https://check.kubik-rubik.de/
http://check.kubik-rubik.eu/
https://downloads.kubik-rubik.de/
Version 3-1 - 2013-11-17
- + First release for Joomla! 3 - based on 2.5-8 with important modifications and optimizations for Joomla! 3.x
- + This release is tested only with Joomla! 3.2 and core components - do not use it in a lower Joomla! version. Do not report any problems with other Joomla! versions. Only the mentioned version (and higher) are supported officially by ECC+!
Version 2.5-8 - 2013-11-15
- + New feature: Custom Call - with this feature you may execute the plugin in all forms with a special syntax. ECC+ can protect all forms of your Joomla! website now. It is not restricted on components but can also be used in modules! The syntax to load the plugin is {easycalccheckplus}. This syntax has to be added in the template file of the form. The best solution is to use a template override. This option is in experimental phase and only for advanced users who know how to create a template override to add the needed syntax! ECC+ can only be executed once per page, so you have to exclude protected modules on pages where the plugin has to be loaded in a component.
- + Improvement: Encrypt functionality - now not only 3rd party components can be protected with encryption but also all other form fields where ECC+ is loaded. Some extensions need the names of the fields to add JavaScript functionality to the forms, these fields can be excluded from being encrypted with the help of a whitelist in the definition for the certain component. Not all components were tested, so please test this function and report problems that may occur!
- ^ Support for Virtuemart - updated the support for Virtuemart to the latest version of the component - 2.0.24a
- ^ Updated Custom Fields
- ^ Changed - Error output message not via Get parameter but via session variable
- ^ Removed deprecated JRequest call
- ^ Code optimizations
- # Encrypt feature - decode all variables as soon as possible and only if they are set in the global request variables - Thank you Frank (deweso.de) for reporting it!
Version 2.5-7 - 20-Nov-2012
+ aiContactSafe - Protection of the aiContactSafe forms - Note: ECC+ can only be used without the AJAX functionality of aiContactSafe. The values of ECC+ have to be generated new and reset in the output of the form on a request, but this is not possible in the AJAX request of the component. Open the form in aiContactSafe and deactivate the option Use AJAX to submit the form if you want to use ECC+ in your aiContactSafe form!
+ FlexiContact Plus - Akismet / Mollom checks
^ Excluded all language files (except English and German) to Transifex - Looking for your language? Then check Transifex. If your language is not fully translated or not in the list at all, then register to Transifex and join the translation team. Every help is welcome!
^ Changed "Alternative search string" priority - increased priority for this option
^ Donation Code Field - Updated to version 1.3
^ Akismet Class PHP5 - Updated to version 0.5
^ Optimized settings ordering and output
^ Improved Artisteer template recognition
Version 2.5-6 - 02-Nov-2012
+ Form recognition - Greatly improved form recognition especially for club templates (e.g. Yootheme, Rockettheme etc.) which use template overrides
+ Virtuemart - Protection of Virtuemart's - Check Out - form
Successfully tested with these current versions of supported 3rd party extensions:
- Joomla! Core - Contact and Registration - 2.5.7
- Community Builder - 1.9
- Easybook Reloaded - 2.5-4
- Fox Contact - 2.0.19
- Flexi Contact - 5.12
- Kunena Forum - 2.0.2
- Phoca Guestbook - 2.0.6
- Virtuemart - 2.0.12f
Version 2.5-5 - 16-Aug-2012
+ Implemented Versioncheck - Stay uptodate with the great new feature! The latest version can be checked once per session or on every load of the settings page.
^ Optimized Donation Code System - The entered donation code is checked only once per session.
Version 2.5-4 - 13-Aug-2012
+ Flexi Contact Plus - Protect the form of the commercial version of the popular component
# Updated the support of the component Kunena Version 2.x
Version 2.5-3-2 - 03-Aug-2012
+ Updated Dutch language file - thank you Gerard
+ Updated Chinese language file - thank you A-Bo
Version 2.5-3 - 20-Jun-2012
+ Implemented donation model
+ Login check - Protects the site against brute force attacks. After a specified number of incorrect login attempts the spam check has to be solved in the form of the component
+ Cache check - The plugin only deletes the cache if it is activated
+ Traditional Chinese language file
^ Updated Dutch language file
Version 2.5-2 - 05-Apr-2012
+ JomSocial - Protection of the JomSocial registration
+ Virtuemart - Protection of Virtuemart's - Ask a question - form
+ Danish language file - Thank you Fribse
^ Optimized check process - Don't have to do all checks if one already has failed
# Small fix in the function fillForm - Delimeter in the regular expression was not quoted correctly
Successfully tested with all current versions of supported 3rd party extensions:
- Joomla! Core - Contact and Registration - 2.5.4
- AlfContact - 2.0.3
- Community Builder - 1.8
- DFContact - 1.6.6
- Easybook Reloaded - 2.5-1
- Fox Contact - 2.0.15
- Flexi Contact - 5.10
- Jom Social - 2.6 RC2
- Kunena Forum - 1.7.2
- Phoca Guestbook - 2.0.5
- Virtuemart - 2.0.2
Version 2.5-1 - 24-Jan-2012
+ First release for Joomla! 2.5
Version 1.7-3 - 26-Dec-2011
+ Show errors in debug mode - if you don't see the spam check, you can enable the debug mode in the configuration of Joomla!. ECC+ writes an entry in the debug mode if an error occurs.
+ ALFContact - testet with version 2.0.1
+ Italian language file
+ Serbian language file
+ Czech language file
+ Dutch language file
+ Math exercise - only numeric inputs possible (check with Joomla! validator)
# Autofill of fields of the user profile plugin
# Encode Fields - Registration process, user profile plugin and language selection
Version 1.5-14-1 - 29-Dec-2011 - Mini update
+ Czech language file - Thank you Robert PLCH
^ cURL Option - Get request, not post request
^ Option StopforumSpam is not enabled per default
Download
Übersicht über alle Downloads zu dieser Erweiterung: ECC+ - EasyCalcCheck Plus Downloads