contributte/reCAPTCHA – neodešle se formulář
- Desttro
- Člen | 126
Zdravím,
chci vás poprosit, hlědám kvalitní ošetření pro formuláře proti botům,
líbí se mi reCAPTCHA V3, která může fungovat v invisible režimu. Doplněk
contributte/reCAPTCHA by to měl umožnit. Stabilní verze nefungovala, proto
jsem switchnul na dev ~3.3.0, která se správně inicializuje:
- v konzoli prohlížeče nejsou žádné chyby
- vpravo dole se ukáže ikona reCAPTCHA, po najetí text „protected by reCAPTCHA“
v configu mám extension zaregistrován, sitekey a secret také, i scripty podle návodu mám:
<script src="https://www.google.com/recaptcha/api.js?render=explicit"></script>
<script src="{$basePath}/assets/invisibleRecaptcha.min.js"></script>
Ve formuláři mám:
$form->addInvisibleReCaptcha('recaptcha')
->setMessage('Jste opravdu člověk?');
A ve zdrojáku se na konci formuláře vygenerovalo správně:
<div class="g-recaptcha" name="recaptcha" value="XXXXXXX" data-sitekey="XXXXX" data-size="invisible"></div><input type="hidden" name="_do" value="quoteForm-submit">
Když ale formulář odešlu, stránka se pouze refreshne, není zde žádný
redirect a nic se nestane.
Když odstraním z formuláře:
$form->addInvisibleReCaptcha('recaptcha')
->setMessage('Jste opravdu člověk?');
tak vše funguje, jak má – redirect na děkovací stránku a odeslání emailu.
Dá se tohle nějak debuggovat? Nebo v čem by mohl být prosím problém? Nebo máte někdo nějaké lepší řešení, které je inteligentní, jako reCAPTCHA a není jej nutno vždy vyplnit, jen podle scoringu uživatele?
Děkuji moc za pomoc!
- uestla
- Backer | 793
Máš povolené allow_url_fopen
? Vypadá to, že se mu nedaří
poslat request (https://github.com/…Provider.php#L102).
- JonatanRek
- Člen | 20
Dobrý den potkal mně stejný problém a však allow_url_fopen
povolen mám.
pokud formulář odešlu zobrazí se hláška definovaná pro chybový stav
ověření.
předem dekuji za jakoukoliv radu
Editoval JonatanRek (29. 4. 2021 10:15)