Spammails über das Kontaktformular trotz Captcha

  • Hallo zusammen,

    trotz eingebautes Captcha kommen sehr viele Spam Nachrichten.

    Hat jemand eine Ahnung, wie ich dies unterbinden kann?

    Vielen dank :)

  • Hallo,

    ich nutze dagegen mittlerweile mehrere Sachen.

    Ein Honeypot. Ein per CSS verstecktes Textfeld, das bei normaler Nutzung des Formulars leer sein sollte. Das stürzen sich die Bots gerne drauf und befüllen es.

    Ein Zeitstempel, die Bots versenden eher in 1-2 Sekunden die Formulare, alles unter 10 Sekunden ist bei mir SPAM.

    Dann prüfe ich auch bei Textareas oder anderen ausgewählten Feldern den Inhalt auf Keywords wie z.B. Links usw.

    Was eigentlich nicht gegen SPAM gedacht ist, sind CSRF-Token welche ich bei jedem Abschicken des Formulars mit einer Session abgleiche und immer wieder aktualisiere. Da hatte ich hier und da auch schon gesehen, dass versucht wurde die Formulare ohne gültige Session zu versenden. Wie oben erwähnt mal <we:ifFormToken/> einsetzen.

    Leider werden die Bots immer intelligenter, z.B. langsameres Versenden hier und da, sodass der Zeitstempel nicht mehr greift oder der Honeypot wird auch ab und zu erkannt.

    Bisher funktionieren diese Methoden zusammen immer noch sehr gut, als letzte Maßnahme kommt eigentlich nur noch ein Captcha bei mir.

    Gruß

    Heiko

    Edited once, last by e-site (July 23, 2024 at 3:11 PM).

  • Ich danke euch vielmals für eure schnellen Antworten :)

    Hätten Ihr Code Snippets, mit denen ich etwas anfangen könnte?
    Wie nutzt man <we:ifFormToken/> am besten in diesem Fall?

    @Heiko Ich habe das webedition captcha eingebunden, aber dies schein nicht ausreichend :(

  • Da ich die Formulare per AJAX versende, mache ich alles mit eigener PHP-Programmierung.

    Quick & Dirty:

  • Finn

    Ich habe gute Erfahrungen mit turnstile bei einer statischen Seite (ohne WE) gemacht und möchte das jetzt auch in WE nutzen. Die Frage ist, wie das am besten im Template eingebunden wird. Vermutlich über eine classe per include.

    Hättest Du ein Script-Beispiel für ein Kontaktformular mit we:form?

  • Finn

    Ich habe gute Erfahrungen mit turnstile bei einer statischen Seite (ohne WE) gemacht und möchte das jetzt auch in WE nutzen. Die Frage ist, wie das am besten im Template eingebunden wird. Vermutlich über eine classe per include.

    Hättest Du ein Script-Beispiel für ein Kontaktformular mit we:form?

    Das sehr einfach ergänzt.

    Du bekommst ja einen public und einen secret key und den Rest an Code kannst du von Cloudflare direkt kopieren.

    Client-side rendering
    You can initialize and customize the Turnstile widget on your web page via implicit or explicit rendering.
    developers.cloudflare.com


    Das eingesetzte DIV rendert dann mit Hilfe des JS die Prüfung fürs Frontend.

    Im Backend nehmen wir dann den übertragenen Key und schicken den an Cloudflare zum prüfen. Es gibt dann einen entsprechenden Response.

    Server-side validation
    Turnstile needs to be verified using Siteverify because it is a front-end widget that creates a token which is cryptographically secured. To ensure that a…
    developers.cloudflare.com


    Grundsätzlich kannst du beim we:form vorgehen wie bei einem klassischen html form. Ist ja auch eins :)

  • So funktioniert es bei mir:

    1. Kontaktform
    Mit Cloudflare-Script. Absenden verlinkt auf send.php

    2. send.php -> WE include mit serverseitigem turnstile check

    3. send.php -> HTML

  • Exakt, es muss auf jeden Fall in die DSGVO. Je nach Endgerät werden Persönliche Daten (IP-Adresse und weitere Metriken) genutzt um die Besucher zu verifizieren:

    Datenschutzerklärung für Cloudflare Turnstile
    Was macht&nbsp;Cloudflare Turnstile?Cloudflare Turnstile ist eine Software, die überprüft, ob es sich bei Webseitenbesuchern um Menschen handelt. Dazu…
    www.e-recht24.de

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!