Sicherheit und SSL

reCAPTCHA in PrestaShop 1.7 und 8 mit eicaptcha einrichten

Geprüft am 7 Min. Lesezeit CAPTCHA Spam PrestaShop

CAPTCHA-Systeme sind der direkteste Weg, um Spam zu stoppen: der Test, der prüft, ob ein Mensch und kein Robot das Formular ausfüllt. In PrestaShop sind sie besonders nötig, weil Shops ein häufiges Ziel von Bots sind, die Hunderte gefälschte Konten pro Tag anlegen und massenhaft Kontaktformulare absenden.

Das Problem ist nicht nur, dass Sie diese Konten löschen müssen. Die Bots verbrauchen CPU und Arbeitsspeicher des Shops, und bei jeder gefälschten Registrierung schickt PrestaShop eine Willkommens-E-Mail an nicht existierende Adressen bei Gmail, Hotmail und ähnlichen Anbietern. Diese Anbieter lehnen die Nachrichten ab und stufen die Domain des Shops schließlich als verdächtig ein, sodass Ihre legitimen E-Mails im Spam-Ordner Ihrer Kunden landen.

Zum Schutz des Shops verwenden wir das kostenlose Modul eicaptcha, das reCAPTCHA von Google in die Kundenregistrierung, das Kontaktformular und die Newsletter-Anmeldung einbindet. Es eignet sich für PrestaShop 1.7 und 8. Wenn Ihr Shop 1.6 ist, folgen Sie der Anleitung reCAPTCHA in PrestaShop 1.6.

Das Modul herunterladen und installieren

Laden Sie das Modul von seiner offiziellen Seite auf GitHub herunter:

Laden Sie die Datei eicaptcha.zip der neuesten 2.x-Version (derzeit 2.6.0) im Abschnitt Assets herunter. Verwenden Sie nicht die Links „Source code“: Diese ZIP-Datei enthält nicht die Bibliotheken, die das Modul braucht, und funktioniert nicht. Die Versionen 0.4.x sind die für PrestaShop 1.6.

eicaptcha.zip auf der Versionsseite von GitHub

Gehen Sie im PrestaShop-Bereich zu Module > Modulkatalog (in PrestaShop 8 Module > Modul-Manager), klicken Sie auf Modul hochladen und ziehen Sie die ZIP-Datei hinein:

Schaltfläche zum Hochladen eines Moduls in PrestaShop 1.7

Sie können die ZIP-Datei auch entpacken und den Ordner eicaptcha per FTP oder über den Dateimanager von cPanel in den Ordner modules von PrestaShop hochladen.

Wenn es bei der Installation nicht aktiviert wurde, suchen Sie nach „captcha“ und klicken Sie auf Aktivieren:

Ei Captcha im Modulkatalog aktivieren

Klicken Sie danach auf Konfigurieren. Das Modul fragt nach den reCAPTCHA-Schlüsseln, die wir im nächsten Schritt erhalten.

Die reCAPTCHA-Schlüssel erhalten

Melden Sie sich in der Verwaltungskonsole von reCAPTCHA mit einem Google-Konto an (jedes Gmail-Konto ist geeignet) und registrieren Sie eine neue Website:

Formular zum Registrieren einer Website in reCAPTCHA

  • Geben Sie unter Label einen Namen ein, an dem Sie sie wiedererkennen, zum Beispiel die Domain des Shops.
  • Wählen Sie unter reCAPTCHA-Typ eine der beiden Optionen:
    • Challenge (v2) > Kästchen „Ich bin kein Roboter“: zeigt das bekannte Kästchen. Am einfachsten zu prüfen.
    • Punktzahlbasiert (v3): für den Kunden unsichtbar; nur ein kleines reCAPTCHA-Logo erscheint in der rechten unteren Ecke.
  • Fügen Sie unter Domains die Domain des Shops hinzu, zum Beispiel tutienda.com. reCAPTCHA akzeptiert auch ihre Subdomains, etwa www.tutienda.com.

Akzeptieren Sie die Bedingungen und klicken Sie auf Senden. Google zeigt Ihnen den Websiteschlüssel und den geheimen Schlüssel. Kopieren Sie sie und notieren Sie, welcher welcher ist.

Website- und geheimer Schlüssel von reCAPTCHA

Die Oberfläche von Google sieht inzwischen anders aus als auf diesen Screenshots, aber die Felder sind dieselben.

Das Modul konfigurieren

Kehren Sie zur Konfiguration von eicaptcha zurück und füllen Sie aus:

  • Recaptcha Version: dieselbe, die Sie bei Google gewählt haben (V2 oder V3). Wenn sie nicht übereinstimmen, funktioniert das Captcha nicht.
  • Captcha public key (Site key): den Websiteschlüssel.
  • Captcha private key (Secret key): den geheimen Schlüssel.
  • Aktivieren Sie das Captcha bei contact form (Kontakt) und account creation (Registrierung) und beim Newsletter, wenn Sie ihn verwenden.
  • Force Captcha language: es.
  • Bei V3 legt Captcha V3 minimum score die Mindestpunktzahl fest, ab der jemand als Mensch gilt. Lassen Sie den Standardwert 0.5 und senken Sie ihn nur auf 0.3, wenn echte Kunden sich nicht registrieren können.

Konfiguration von eicaptcha mit den Schlüsseln

Speichern Sie die Änderungen. Mit v2-Schlüsseln zeigen die Formulare das Kästchen „Ich bin kein Roboter“:

Mit reCAPTCHA geschütztes Kontaktformular von PrestaShop

Prüfen, ob es funktioniert

  1. Öffnen Sie den Shop in einem privaten Fenster und rufen Sie die Kundenregistrierung und die Kontaktseite auf: Das reCAPTCHA-Kästchen muss erscheinen (oder bei v3 das Logo in der Ecke).
  2. Versuchen Sie bei v2, sich ohne Ankreuzen des Kästchens zu registrieren: PrestaShop muss einen Fehler anzeigen und darf das Konto nicht anlegen.
  3. Schließen Sie die Registrierung normal ab: Das Konto muss angelegt werden.

Wenn das Captcha nicht erscheint oder nichts blockiert:

  • Leeren Sie den Cache unter Erweiterte Einstellungen > Leistung.
  • Prüfen Sie auf derselben Seite, dass Alle Overrides deaktivieren auf Nein steht. eicaptcha stützt sich auf einen Override der Kundenregistrierung und prüft das Formular nicht, wenn sie deaktiviert sind.
  • Klicken Sie in der Registerkarte Advanced parameters des Moduls auf Check if module is well installed und kehren Sie zu dieser Registerkarte zurück: Sie zeigt, was nicht stimmt (Overrides, Hooks, Kontaktmodul). Dort können Sie auch Enable Debug aktivieren, damit ein Protokoll gespeichert wird.
  • Wenn der Fehler „Invalid domain for site key“ erscheint, stimmt die Domain des Shops nicht mit der in reCAPTCHA registrierten überein.

Wenn weiterhin gefälschte Konten entstehen

Wenn nach dem Aktivieren des Captchas weiterhin gefälschte Registrierungen auftauchen, gehen die Bots nicht über das Formular: Sie nutzen eine Lücke der installierten Version aus, etwa die Lücke für Massenregistrierungen. Prüfen Sie die Version unter Erweiterte Einstellungen > Informationen und aktualisieren Sie den Shop; bei einer 1.7 empfiehlt sich der Wechsel auf 8 oder 9.

Gefälschte Konten erkennen Sie meist daran, dass Vor- oder Nachname Links oder Werbetext enthalten. Bevor Sie sie unter Kunden > Kunden löschen, filtern Sie nach Registrierungsdatum und prüfen Sie, dass sie keine Bestellungen haben.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.