xform - neues Plugin und altes Problem

Alles über die Anwendung und Entwicklung von AddOns.

xform - neues Plugin und altes Problem

Beitragvon Satyr » 13. Dez 2011, 11:02

Hallo an die Experten,

Zuerst eine Frage
Im Addon xform gibt es 2 Möglichkeiten Email zu verschicken:
1. action db2email
2. action email
Stimmt?

Jetzt mein Problem
ich habe ein Plugin zur Einbindung in xform eine barrierefreier Alternative zu CAPTCHA entwickelt und im Downloadbereich auf redaxo.org veröffentlicht.
http://www.redaxo.org/de/download/addon ... &cat_id=-1

Darin enthaltene Klasse class.xform.formsign.inc.php soll das Verschicken der Nachrich verhindern, wenn ein Verdacht auf maschinelle Manipulation des Formulars besteht.
Bei xform wird eine Nachricht nur dann nicht Versendet, wenn während Verarbeitung der Formulardaten ein Fehler entsteht.
Signalisiert wird diese Zustand mittels eine Fehlermeldung.
Da ich eigentlich keine Fehlermeldung ausgeben will (je weniger Rückmeldungen ein Angreifer bekommt desto besser), mußte ich eine Fehlermeldung mit Leerzeichen simulieren.
Es bewirkt aber, dass das Formular wieder erscheint und verwirrt den Benutzer (z.B. bei Seiten.
Gibt es in xform eine Möglichkeit ohne einer Fehlermeldung das Versenden des Formulars zu blokieren?

Grüße
Adam
Benutzeravatar
Satyr
 
Beiträge: 54
Registriert: 4. Jul 2010, 16:02
Wohnort: Wiesbaden

Re: xform - neues Plugin und altes Problem

Beitragvon Markus.Lorch » 13. Dez 2011, 12:11

Du willst keinen Fehler UND kein Formular anzeigen - und das soll den User dann weniger verwirren?
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: xform - neues Plugin und altes Problem

Beitragvon Satyr » 13. Dez 2011, 13:35

Hallo Markus,
Markus.Lorch hat geschrieben:Du willst keinen Fehler UND kein Formular anzeigen - und das soll den User dann weniger verwirren?



danke für die schnelle Reaktion.

Ja,
vielleicht habe ich mein Problem zu knapp beschrieben.
Hier eine Ergänzung.
Möglich sind folgende Scenarien:
1. Das Submit-Button wurde sofort nach "erscheinen" des Formulars betätigt (ohne das Formular ausgefüllt ist).
In diesem Fall erscheinen die üblichen Fehlermeldungen wie: "Bitte füllen Sie alle mit * gezeichnetten Felder aus.", und das Formular erscheint wieder.

2. Das Formular ist bereits "ausgefüllt" von einen "Spam Programm" an die Webseite übermittelt.
Hier möchte ich keine Fehlermeldung aber das Versenden der Nachricht möchte ich verhindern.
Damit verwirre ich die "Maschine" aber keinen Menschen.
3. Das Formular wurde Fehlerfrei ausgefüllt und ist Versendet aber der Benutzer verursacht "reload" der Seite.
in diesem Fall, brauche ich keine Fehlermeldung und auch kein Formular mehr. Die übliche Erfolgsmeldung soll bleiben.

Gruß
Adam
Benutzeravatar
Satyr
 
Beiträge: 54
Registriert: 4. Jul 2010, 16:02
Wohnort: Wiesbaden

Re: xform - neues Plugin und altes Problem

Beitragvon Markus.Lorch » 13. Dez 2011, 15:50

So. Hab den Code mal kurz überflogen. Da sind bei mir noch so einige Fragezeichen. Aber das ist mal egal.

Du könntest innerhalb der preValidateAction (innerhalb deiner value-klasse definieren) $this->objparams["send"] auf 0 zurück setzen. Weder die Validierungen noch die Actions würden dann ausgeführt werden.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: xform - neues Plugin und altes Problem

Beitragvon Satyr » 13. Dez 2011, 21:58

Hallo Markus,
vielen Dank.
Es ist das wonach ich gesucht habe und um das Formular nicht mehr anzeigen kann ich $this->params["form_show"] auf 0 setzen.

Markus.Lorch hat geschrieben:So. Hab den Code mal kurz überflogen. Da sind bei mir noch so einige Fragezeichen. Aber das ist mal egal.


Ich möchte dich nicht belestigen, aber falls du Lußt und Zeit findest, werden mich deine Fragen interessieren.
Gruß
Adam
Benutzeravatar
Satyr
 
Beiträge: 54
Registriert: 4. Jul 2010, 16:02
Wohnort: Wiesbaden

Re: xform - neues Plugin und altes Problem

Beitragvon Markus.Lorch » 13. Dez 2011, 23:31

Och. Ich hab auf die Schnelle nur nicht wirklich verstanden was Du da drinnen eigentlich machst ;) Bissle undurchsichtiger Code ;)

P.S. $this->params["form_show"] = 0 sendet das Formular trotzdem ;) Es wird nur nicht erneut angezeigt.
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle
Benutzeravatar
Markus.Lorch
 
Beiträge: 634
Registriert: 21. Okt 2007, 16:22
Wohnort: Walheim

Re: xform - neues Plugin und altes Problem

Beitragvon Satyr » 16. Dez 2011, 19:43

Hallo Markus,
Markus.Lorch hat geschrieben:Och. Ich hab auf die Schnelle nur nicht wirklich verstanden was Du da drinnen eigentlich machst ;) Bissle undurchsichtiger Code ;)

Stimmt.
Jetzt aber habe ich das code übersichtlicher gestalltet und kommentiert.
Dank deiner Anleitung zu github habe ich ein Konto erstellt und ein wenig herumgespielt.
Du hast es wirklich gut und ganz einfach beschrieben.

Die aktuelle Version des Plugins ist zu finden unter:
https://github.com/satyrex/formsign_plugin/

Gruß
Adam



Benutzeravatar
Satyr
 
Beiträge: 54
Registriert: 4. Jul 2010, 16:02
Wohnort: Wiesbaden


Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste