TYPO3 – Captcha und Spam Probleme
Wir erhalten immer mehr von Kunden die Nachricht, dass die Kontaktformular mit Formhandler und einem älteren Bild-Captcha (captcha, sr_freecap usw.) Probleme machen und immer mehr E-Mail Spam auftaucht.
Hier haben wir leider noch nicht die Erweiterung powermail testen können, aber hier hat uns der Entwickler von Powermail einen Anleitungs-Link geschickt:
Standard: https://github.com/einpraegsam/powermailrecaptcha
Als Lösung verwenden wir nun das Google reCaptcha und möchten Euch kurz einen Einblick dazu geben:
Der Formhandler unterstützt soweit schon das Google-Captcha, hier findet Ihr in der HTML Datei: mastertemplate.html folgenden HTML-Code:
<!-- ###master_spamprotection-jm_recaptcha### --> <div class="row"> <div class="large-12 columns"> <label class="inline ###is_error_recaptcha_response_field###">###LLL:captcha### *</label> </div> <div class="large-12 columns"> ###RECAPTCHA### ###error_recaptcha_response_field### </div> </div> <!-- ###master_spamprotection-jm_recaptcha### -->
Diesen Code könnt Ihr nach belieben anpassen.
In die HTML-Datei: step-1.html müsst Ihr nun noch den Marker hinzufügen:
###master_spamprotection-jm_recaptcha###
Installiert nun folgende TYPO3 Extension: jm_recaptcha
Hier ist es wichtig, dass Ihr noch eine Google-API Key beantragt:
https://www.google.com/recaptcha/admin
Hier tragt Ihr bei „Label“ am besten den Domain-Namen ein. Ich verwende die „reCAPTCHA, Version 2“ und dann noch die URL in das Feld „Domains“ eintragen: example.de
Anschließend noch die Nutzungsbedingungen akzeptieren und auf „registrieren“ klicken.
Die API-Codes tragt Ihr dann in das TYPOSCRIPT Setup ein:
plugin.tx_jmrecaptcha { public_key = xXxxxXXXXxxUAAAAAH9Ma-XXxxXXXXxxXX private_key = xXxxxXXXXxxUAAAAAChWfslXxXXXXxxXXXX }
Damit nun auch das neue Captcha-Feld als „Pflichtfeld“ erkannt wird, müssen wir noch im TYPOSCRIPT von der Formhandler-Erweiterung die validators ändern.
recaptcha_response_field.errorCheck.1 = jmRecaptcha
Als Beispiel meine Config:
validators { 1.class = Validator_Default 1.config.fieldConf { lastname.errorCheck.1 = required email.errorCheck.1 = required email.errorCheck.2 = email message.errorCheck.1 = required #captchafield.errorCheck.1 = required #freecapfield.errorCheck.1 = required #freecapfield.errorCheck.2 = srFreecap recaptcha_response_field.errorCheck.1 = jmRecaptcha } }
Nun sollte schon alles auf der Formular-Seite passen.
Die passenden Spracheinstellungen kann hier in der Datei angepasst werden: lang.xml
Hier benötigen wir noch das passende Sprach-Label für die Fehlernachricht. „error_recaptcha_response_field_jmRecaptcha“
<label index="error_recaptcha_response_field_jmRecaptcha">Bitte geben Sie die Sicherheitsabfrage an!</label>
Für Powermail gibt es nun auch eine Lösung/Erweiterung:
https://github.com/einpraegsam/powermailrecaptcha
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
TYPO3 Internetagentur - Sebastian
vielen Dank, es geht! 🙂
Martin
ok, Code wird rausgefiltert, daher nochmal:
Die Fehlermeldung sollte mit error_recaptcha_response_field_jmRecaptcha funktionieren.
TYPO3 Internetagentur - Sebastian
Danke Dir Alex, wie gesagt, werde ich auch noch mal Powermail testen, da ich in allen neuen Projekten nur noch Deine Erweiterung verwende 🙂
Alex
Danke für den Post. Captchas sind aus meiner Sicht generell problematisch, gerade was die Benutzerfreundlichkeit angeht.
Wer Recaptcha powermail ausprobieren will, wird hier fündig:
Standard: https://github.com/einpraegsam/powermailrecaptcha
Invisible: https://github.com/einpraegsam/invisiblerecaptcha