EasyCalcCheck Plus - Joomla! Plugin - Logo

Featured in the JED Popular in the JED Joomla 3 native

Name: EasyCalcCheck Plus - Version: 3.1.1 - Typ: Plugin - Lizenz: GPLv3 - Demo
Beschreibung: Schützt Joomla! Formulare und 3rd Party Erweiterungen durch die Einbindung von Spamschutzdiensten und internen Antispamchecks

Übersicht über alle Downloads zu dieser Erweiterung: ECC+ - EasyCalcCheck Plus Downloads

Wenn Sie ECC+ - EasyCalcCheck Plus nutzen, dann schreiben Sie bitte ein Review und bewerten Sie die Erweiterung im Joomla! Extensions Directory.

EasyCalcCheck Plus ist eine der bestbewerteten, meist genutzten und runtergeladenen Lösung für das CMS Joomla! gegen Spambots (siehe Eintrag im offiziellen Joomla! Extensions Directory).
ECC+ ist ein Gewinner des ersten Top Ten Community Choice Extensions Awards vom offiziellen Joomla! Projekt: EasyCalcCheck Plus - Community Choice Winner
Danke an alle Benutzer und Fans. Vergesst niemals: Habt Spaß mit Joomla!, keinen Spam! ;-)

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 in der Version für Joomla! 2.5: aiContactSafe, AlfContact, Community Builder (< 2.0), DFContact, Easybook Reloaded, Fox Contact, Flexi Contact, Flexi Contact Plus, JomSocial, Kunena Forum, Phoca Guestbook und Virtuemart
Integrierte externe Spamschutz-Dienste: Google ReCaptcha, Akismet, Honeypot Project, StopForumSpam, Mollom, Bot-Trap, 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
  • Bot-Trap
  • Honeypot Project
  • StopForumSpam
  • Akismet
  • Mollom
  • reCaptcha
  • 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.

Ab Joomla! Version 2.5 beachten: 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!

Changelog

Öffnen/Schließen - + = Hinzugefügt - ! = Entfernt - ^ = Geändert - # = Gefixt

Joomla! 3.x

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/
  • + New Download Server - Download packages are located independently of the project website on a new download server.
  • https://downloads.kubik-rubik.de/
  • + Update Server - Added the Joomla! core functionality for the update checks
  • + IProperty Real Estate
  • ! Removed Version Check field
  • ^ Semantic versioning - Switched to semantic versioning, see http://semver.org/ for more details. Please update manually since the core update server functionality will not recognize the new version!
  • ^ HTTPS - Links to the services use HTTPS (Hypertext Transfer Protocol Secure) versions
  • ^ Updated Donation Code field - Uses the HTTP API for the requests and calls the check script via HTTPS
  • ^ Links in the language files - Updated outdated links to the JED (Joomla! Extensions Directory)

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+!

Joomla! 2.5

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 - 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

Joomla! 1.7

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.7-2 - 04.10.2011

^ komplette Code-Überarbeitung und Optimierung
Unterstützung für:
+ FoxContact - getestet mit Version 2.0.7
+ Kunena Forum - getestet mit Version 1.7.0
+ FlexiContact - getestet mit Version 5.06
+ DFContact - getestet mit Version 1.6.3

Version 1.7-1 - 20.07.2011

- 1. Release für Joomla! 1.6
- alle Features der Version 1.6-3 enthalten
+ Anpassung an die neue Joomla-Version

Joomla! 1.5

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

Version 1.5-14 - 22.06.2011

+ Spamschutz nur für Gäste - der Spamschutz kann für eingeloggte Besucher deaktiviert werden
+ reCaptcha Themes - 4 verschiedene Themes können ausgewählt werden
+ Artisteer Template - Option, um die Einbindung bei Nutzung eines Artisteer Custom Templates zu ermöglichen
^ Job Board - Unsolicited Seite wird geschützt
^ SQL Injection Schutz überarbeitet
^ Kunena Forum - Spamschutz wird bei Feed-Aufruf nicht getriggert
^ diverse weitere Optimierungen

Version 1.5-13-1 - 22.03.2011

+ Verbesserte Erkennung des Suchstrings für Core Komponenten - String wird auch bei Template Overrides gefunden, falls diese den Standardsuchwert überschreiben
# Keine weiße Seite mehr, wenn allow_url_fopen deaktiviert ist
(Funktionalität mit aktuellen Versionen getestet - Virtuemart - 1.1.7a, Community Builder - 1.4.0, Kunena - 1.6.3)

Version 1.5-13 - 07.01.2011

+ Selbstdefinierte Frage - eine eigene Frage mit dazugehörigen Antwort stellen
+ Mollom - Public Key und Private Key für die Nutzung nötig - Registrierung auf http://mollom.com/
+ Botscout - API Key für die Nutzung nötig - Registrierung auf http://botscout.com/
+ Unterstützung für Job Board - Tell a friend und Bewerbungsformular (getestet: Version 1.5.0d_i)
+ Akismet Überprüfung - Abfrage für Easybook Reloaded hinzugefügt
# Autofill im Easybook Reloaded im eingeloggten Zustand korrigiert

Version 1.5-12 - 27.12.2010

+ Backend Protection - Schutz der Administrationsseite durch ein selbstgewähltes Token
+ Unterstützung für Easybook Reloaded - Eintragsformular (notwendig: Update der EBR auf Version 2.0.8.1)

Version 1.5-11 - 17.12.2010

+ Autofill - Eingegebene Werte bleiben bei Falscheingabe erhalten (Keep form data on fail)
+ Kunena Forum - Spamschutz bei Betrieb für Gäste
^ Standardwert für Zeitsperre auf 5 Sekunden gesetzt
^ Inkludierte Dateien durch Aufruf von außen geschützt
^ Ungarische Sprachdatei aktualisiert (Danke an Luby)
# Sprachvariable korrigiert

Version 1.5-10

+ Akismet - API Key für die Nutzung nötig - Registrierung auf http://akismet.com/
+ reCaptcha - Public Key und Private Key für die Nutzung nötig - Registrierung auf http://www.google.com/recaptcha
+ Cache leeren - das Plugin kann nun auch mit eingeschaltetem Cache benutzt werden
+ Griechische Sprachdatei fürs Frontend (Danke geht an etkritikonspoudon)
+ Rockettheme Template - Option, um die Einbindung bei Nutzung eines Rockettheme Templates zu ermöglichen
^ Warnung-Bild in Unterordner verschoben

Version 1.5-9

+ Unterstützung für ALFContact - Kontaktformular (getestet: Version 1.9.3)
+ Unterstützung für AlphaRegistration - Registrierung (getestet: Version 2.0.12)
+ Unterstützung für Community Builder Enhanced (CBE) - Registrierung (getestet: Version 1.4.12)
+ Unterstützung für DFContact - Kontaktformular (getestet: Version 1.5.12)
+ Unterstützung für Flexi Contact - Kontaktformular (getestet: Version 3.13)
+ Unterstützung für Jomsocial - Registrierung und Aktivierung (getestet: Version 2.0.2)
+ Unterstützung für Phoca Guestbook - Eintragsformular (getestet: Version 1.4.3)
^ Warnbild eingebaut - nicht mehr extern, sondern direkt vom Plugin
# Russische Sprachdatei wird richtig installiert

Version 1.5-8

+ Unterstützung für Community Builder (getestet: Version 1.2.3)
+ Unterstützung für QContacts (getestet: Version 1.0.6)
+ Einblendung bei "Passwort vergessen?" und "Benutzernamen vergessen?" - Joomla Formulare
+ Einblendung bei "Zugangsdaten vergessen?" im Community Builder und Virtuemart
+ Einblendung bei Virtuemart "Fragen zum Produkt" (getestet: Version 1.1.6)
+ Niederländische Sprachdatei (Danke geht an Johan K.)
^ Virtuemart - automatische Erkennung das Suchstrings
# Abfrage bei deaktivierten Option optimiert

Version 1.5-7

Schutzmechanismen grundlegend verbessert:
- Honeypot Project - BL Access Key für die Nutzung nötig - Registrierung auf http://www.projecthoneypot.org/index.php
- Bot-Trap - Datei page.restrictor.php für die Nutzung nötig - Registrierung und Vorstellung auf http://www.bot-trap.de
- StopForumSpam - Abgleich der IP-Adressen über die Blackliste von http://www.stopforumspam.com
- SQL Injection und Local file Inclusion Schutz - zusätzlicher Schutz vor unerlaubten Aufrufen, um (auch unbekannte) Exploits zu unterbinden
- Wörter statt Zahlen - Optimierung - Wörter können nun in der jeweiligen Sprachdatei definiert werden

Version 1.5-6-5

- ungarische Sprachdatei (Danke geht an Luby)

Version 1.5-6-4

- französische Sprachdatei (Danke geht an Robert G.)

Version 1.5-6-3

- russische Sprachdatei (Danke geht an Yuriy K.)
- kleine Code-Anpassungen

Version 1.5-6-2

- VM-Erkennung verbessert
- spanische Sprachdatei (Danke geht an Jesús C.)
- Upgrade-Methode hinzugefügt
- Warnhinweisbild wird korrekt angezeigt, wenn Joomla in einem Unterordner installiert ist

Version 1.5-6

- Überarbeitung des Plugins, um alle bisherigen Probleme zu beseitigen und weitere Optimierungen durchzuführen
- neue englische Sprachdatei (Danke geht an Andy B.)
- italienische Sprachdatei (Danke an Laura)

Version 1.5-5

- Verschlüsselung aller Inputfelder optional, wenn es Probleme mit anderen Komponenten gibt
- On-the-fly-Validierung der Eingabe durch validate.js (Mootools) möglich, Class-Elemente werden zum Teil unverschlüsselt
- Bugfix: Pdf- und VCARD-Erstellung wieder möglich
- Bugfix: User im Backend anlegen möglich
- Nach Vorgabe von Joomla! Extension GPL Lizenz als Textdatei beigefügt und in php-Datei erkenntlich gemacht
- Code-Optimierungen

Version 1.5-4

- alle Inputfelder (for, id und name) werden verschlüsselt
- CSS Anweisung für das versteckte Feld wird im Head-Bereich ausgegeben
- Erkennung des Buttons im Virtuemart verbessert
- Beez Template - korrekte Darstellung auf der Kontaktseite - Code überarbeitet und optimiert
- Bugfixes: Fehler des erneuten Sessionstarts und der undefinierten Variablen beseitigt

Version 1.5-3

- Virtuemart - das Plugin kann auch auf der Registrierungsseite von Virtuemart angezeigt werden.
- Wörter statt Zahlen - Zahlen von 0-20 können auch als Wörter angezeigt werden. Dadurch wird es für Spambots noch schwieriger, die Rechenaufgabe zu lösen. Die Wahrscheinlichkeit der Anzeige eines Wortes liegt bei 2 / 3.
- 3 Operanden - es können statt 2 auch 3 Operanden angezeigt werden.
- Kontaktseite wird bei fehlerhaften Eingabe geladen - wird der Spamcheck nicht bestanden, wird die vorherige Kontaktseite (mit richtiger Kontakt-ID) erneut mit einer Fehlermeldung aufgerufen. Vorher wurde immer eine leere Seite angezeigt.

Version 1.5-2

- Zeitsperre - wird das Formular zu schnell ausgefüllt, wird das Absenden blockiert. Spambots übertragen die Daten meist komplett, was zu unrealistisch kurzen Eingabezeiten führt. Die Zeitsperre kann individuell nach eigenem Ermessen in Sekunden eingestellt werden.
- ROT13 Kodierung - per Zufall wird noch zusätzlich zur Base64 Kodierung die Rot13 Kodierung geschaltet, was den Bots die Erkennung beim Auslesen des Ergebnisses erschweren soll.
- Position des versteckten Feldes zufällig - Bots können sich nicht eine bestimmte Struktur einstellen
- alle Feldnamen werden dynamisch generiert und sind immer unterschiedlich, um eine Erkennung zu erschweren

Version 1.5-1

- Rechenaufgabe - Operationen: Addition und Subtraktion
- Zufallsanzeige der Operationen
- Negative Ergebnisse können ausgeschlossen werden
- Verstecktes Inputfeld

Download

Download - verbesserte Entwicklungsversionen exklusiv für Subscriber

-

Download - kostenlose, öffentliche Versionen

Übersicht über alle Downloads zu dieser Erweiterung: ECC+ - EasyCalcCheck Plus Downloads