[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Submit-Button "disabled" - Spamschutz?
Seite 1 von 1

Submit-Button "disabled" - Spamschutz?

Verfasst: 13. Jul 2016, 10:21
von dpf_dd
Hallo Leute,

mich beschäftigt gerade eine kleine HTML-Frage, die ich mit Google aber nicht 100% sicher beantworten kann...

Ich habe ein Formular inkl. Submit-Button, welcher beim Laden der Page aber das Attribut "disabled" bekommt. Der User kann den Button somit nicht klicken bzw. das Formular nicht abschicken.

Frage: Können Spambots das Formular trotzdem submitten?

Hintergrund: Ich möchte die Mechanik in einen Spamschutz einbauen, was ich mir aber sparen kann, wenn Bots das "disabled" nicht interessiert...

Danke für Eure Hilfe und
MfG, dpf_dd

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 13. Jul 2016, 13:18
von Ingo
dpf_dd hat geschrieben:Frage: Können Spambots das Formular trotzdem submitten?
ja. bau nen honeypot oder recaptcha ein und gut ist.

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 13. Jul 2016, 15:45
von dpf_dd
Hallo Ingo, danke für deinen Input, reCaptcha... ein schönes Stichwort, denn ich habe bereits einen Google reCaptcha v2 eingebaut.

Folgende Idee hatte ich:
1) Formular-Submitbutton lädt "disabled"...
2) User klickt auf "Ich bin kein Roboter" und verifiziert den reCaptcha...
3) Eine reCaptcha-Callbackfunktion setzt den Submitbutton auf "enabled" (bzw. entfernt das disabled-Attribut)
4) Der User kann erst JETZT den Button klicken und das verifizierte Formular abschicken.

Das Ganze ist bereits so im Einsatz und funktioniert auch. Spam bekomme ich keinen, aber das muss nix heißen... Der Google reCaptcha ist leider ziemlich mies dokumentiert, was die Rückgabe des Verifizierungs-Hashes angeht - von daher hatte ich nach anderen Lösungen gesucht ohne auf den Google reCaptcha zu verzichten (denn der ist schon ziemlich cool in Hinsicht auf Usability). :roll:

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 13. Jul 2016, 15:54
von Ingo
1. mach ein textfeld
2. versteck das textfeld per inline css
3. schreib dir ne xform validierung für das textfeld

Code: Alles auswählen

class rex_xform_validate_honeypot extends rex_xform_validate_abstract
{

  function enterObject()
  {
    if($this->params["send"]=="1" && is_array($this->obj_array))
    {
      foreach($this->obj_array as $Object)
      {
        if($Object->getValue() != "")
        {
          $this->params["warning"][$Object->getId()] = $this->params["error_class"];
          $this->params["warning_messages"][$Object->getId()] = $this->getElement(3);
        }
      }
    }
  }

  function getDescription()
  {
    return "honeypot -> honeypot (verstecktes textfeld, dass leer sein muss), beispiel: validate|honeypot|label|Dieses Feld leer lassen";
  }

  function getDefinitions()
  {
    return array(
          'type' => 'validate',
          'name' => 'honeypot',
          'values' => array(
            array( 'type' => 'select_name',    'label' => 'Name' ),
            array( 'type' => 'text',        'label' => 'Fehlermeldung'),
          ),
          'description' => 'Feld muss leer sein, sonst Fehler',
          'famous' => false
        );

  }
}
Spambots füllen alles aus, was nicht bei 3 auf dem Baum ist. Bestmögliche Usability.

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 14. Jul 2016, 11:39
von dpf_dd
Hmkay, die Honeypot-Technik ist bewährt und die kenne ich auch. Kann ich problemlos einbauen, das wäre der schnellste Weg - ist aber eigentlich auch unnötig wenn der Captcha seinen Dienst tut.

Ich suche einfach technisch einen Weg, die reCaptcha-Callbackfunktion für die Verifizierung zu nutzen. "disabled" (Ursprungsfrage) scheint also ins Leere zu laufen. Aber irgendeinen Zweck muss der Hash von reCaptcha ja haben, wenn ein User erfolgreich bestätigt, dass er kein Bot ist. Ich habe also einen Hash, aber was damit tun? :D

Nunja, ich verschwinde dann mal in die Google Dokumenationen in der Hoffnung noch was zu finden :mrgreen:

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 14. Jul 2016, 11:51
von Ingo
dpf_dd hat geschrieben:Hmkay, die Honeypot-Technik ist bewährt und die kenne ich auch. Kann ich problemlos einbauen, das wäre der schnellste Weg - ist aber eigentlich auch unnötig wenn der Captcha seinen Dienst tut.
Warum willst du denn zusätzlich zum Honeypot noch ein Captcha einbauen?

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 15. Jul 2016, 08:43
von dpf_dd
Ingo hat geschrieben:Warum willst du denn zusätzlich zum Honeypot noch ein Captcha einbauen?
Es ist ein sehr spezieller Kunde, der eigentlich selbst keine Ahnung hat - aber es unbedingt so haben will wie er es kennt. Und er kennt halt nur Google reCaptcha. Der Kunde meint, dass viele User das als Sicherheitsmerkmal wahrnehmen und deswegen möchte er das auch haben :roll: :mrgreen:
Da ich bei diesem Projekt nur für die Umsetzung zuständig bin und auch nur dafür bezahlt werde, hinterfrage ich da jetzt nicht sein Denken...

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 18. Jul 2016, 08:28
von Phoebus Ryan
Okay, dann nimm aber nur das reCaptcha und nicht zusätzlich noch ein Honeypot-Verfahren und sonstiges. Für die reCaptcha gibts viele Beispiele im Netz. Die offizielle Doku ist nicht immer die richtige Anlaufstelle da sie oft unvollständig oder unnötig kompliziert ist.

Re: Submit-Button "disabled" - Spamschutz?

Verfasst: 12. Dez 2016, 17:49
von alexplus
Ich habe die Doku für YForm entsprechend ergänzt:

https://github.com/yakamara/redaxo_yfor ... mschutz.md

Feedback willkommen!