Zum Inhalt springen

TYPO3 – Captcha und Spam Probleme

Erstellt am 22. März 2017 · 4 Antworten · letzte Antwort am 30. März 2017

Tags: Tipp

Sebastian Schmal ·

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

Ursprünglich erschienen am 22.03.2017 auf typo3-probleme.de.

Unbekannter Benutzer ·

Ein Leser schrieb:

Danke Dir Alex, wie gesagt, werde ich auch noch mal Powermail testen, da ich in allen neuen Projekten nur noch Deine Erweiterung verwende 🙂