Contao 4.6.x - Probleme mit Captcha / Sicherheitsfrage
Ein schönen guten Morgen in die Runde!
Da mein Problem neben meinem Gästebuchformular auch das Kommentarformular betrifft, stelle ich es mal hier ein. Wenn es hier nicht hinpaßt, bitte verschieben.
Am 8.10. habe ich bemerkt, dass auf https://www.luetten-dieks.eu sowohl in meinem Gästebuch-Eingabeformular als auch in der Kommentarfunktion in Stinas Blog beim Ausfüllen der Sicherheitsabfrage immer eine Fehlermeldung ausgelöst wird, obwohl die Sicherheitsfrage korrekt beantwortet wird. Da der letzte Gästebucheintrag vor dem 8.10. (am 11.08.) vor dem Release von Contao 4.6 noch unter Contao 4.5 erfolgte, nehme ich an, dass das ein Änderung im Update von C4.5 auf 4.6 für das Problem verantwortlich ist.
Nachfolgend mal der Auszug: <form> ... </form meines templates "mod_guestbookform.html5, welches den Fehler verursacht:
HTML-Code:
....
<form action="<?php echo $this->action; ?>" id="tl_guestbook" method="post">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="tl_guestbook">
<input type="hidden" name="REQUEST_TOKEN" value="<?php echo $this->replaceInsertTags('{{request_token}}'); ?>" />
<?php echo $this->messages; ?>
<fieldset><legend><?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_fieldsetname']; ?></legend>
<?php foreach ($this->fields as $objWidget): ?>
<?php if ($objWidget instanceof FormCaptcha) echo "</fieldset>\n\n<fieldset><legend>". $GLOBALS['TL_LANG']['GUESTBOOK']['gb_fieldsetcaptcha']."</legend>"; ?>
<div class="gb-widget"><?php echo $objWidget->generateLabel(); ?> <?php echo $objWidget->generateWithError(); ?> <?php if ($objWidget instanceof FormCaptcha) echo $objWidget->generateQuestion(); ?></div>
<?php if ($objWidget instanceof FormCaptcha) echo "</fieldset>"; ?>
<?php endforeach; ?>
<?php if (!$this->gb_disableNotice): ?>
<fieldset><legend><?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_dsgvo']; ?></legend>
<p style="text-align:justify">
<?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_forminfo']; ?>
<?php if ($this->moderate) : ?>
<?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_fieldmoderate']; ?><br />
<?php endif; ?>
<div style="text-align:center">
<a href="{{article_url::datenschutzerklaerung}} ">Weitere Informationen zum Datenschutz</a>
</div>
</p>
<?php echo "</fieldset>"; ?>
<?php endif; ?>
<div class="submit_container">
<button type="submit" value="" class="submit -quaternary"><?php echo $this->submit; ?></button>
</div>
</div>
</form>
...
Damit Besucher überhaupt etwas in mein Gästebuch eintragen können, habe ich meine template in Anlehnung an das Contao 4.6 Kommentarformular (das keine Captcha-Abfrage mehr enthält) angepasst:
HTML-Code:
...
<form action="<?php echo $this->action; ?>" id="tl_guestbook" method="post">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="tl_guestbook">
<input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
<?php echo $this->messages; ?>
<fieldset>
<legend><?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_fieldsetname']; ?></legend>
<?php foreach ($this->fields as $field): ?>
<?= $field->parse() ?>
<?php endforeach; ?>
</fieldset>
<fieldset>
<legend><?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_dsgvo']; ?></legend>
<p style="text-align:justify">
<?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_forminfo']; ?>
<?php if ($this->moderate) : ?>
<?php echo $GLOBALS['TL_LANG']['GUESTBOOK']['gb_fieldmoderate']; ?><br />
<?php endif; ?>
<div style="text-align:center">
<a href="{{article_url::datenschutzerklaerung}} ">Weitere Informationen zum Datenschutz</a>
</div>
</p>
</fieldset>
<div class="submit_container">
<button type="submit" value="" class="submit -quaternary"><?php echo $this->submit; ?>
</button>
</div>
</div>
</form>
...
Da das Kommentarformular ebenfalls keine Captcha-Abfrage mehr enthält, hatte ich die stille Hoffnung, dass in beiden Fällen auf eine mir nicht erklärbare wundersame Weise der Spam-Honeypot greift, der ja seit C4.4 alle Formulare schützen soll ... :o
Leider scheint das zumindest für das Gästebuch nicht der Fall zu sein, heute morgen hatte ich ich 4 Einträge zu einem allseits bekannten Potenzmittel :rolleyes: ...
Da ich mittlerweile das alte Jedostyle Gästebuch in abgespeckter Form (ohne Avatar Dependency) in ein Contao 4 Bundle mehr schlecht als recht umgebaut habe (funzt aber und läßt sich via composer oder CM installieren), wäre es schön, wenn für das Spam-Problem mit Eurer Hilfe eine Lösung gefunden würde. Möchte das GB danach auch für andere Interessenten zur Verfügung stellen. Obwohl die Zeit der Gästebücher ja langsam vorbeigeht ... ;)