Dobrý deň,
ďakujeme za podnet — presne takúto požiadavku sme mali aj od iných používateľov, preto sme ju zaradili do najbližšej verzie.
V aktuálne vydanej verzii 2.7.0 sme pridali priamu integráciu Google reCAPTCHA v3 pre reklamačný formulár (aj formulár na odstúpenie od zmluvy). reCAPTCHA v3 je neviditeľná — zákazníci nič neklikajú, ochrana funguje úplne na pozadí.
Ako to aktivovať:
- Aktualizujte plugin na verziu 2.7.0
- Prejdite do Spotrebiteľské práva → Nastavenia → Anti-spam (Google reCAPTCHA v3)
- Zadajte Site key a Secret key — kľúče sú bezplatné, získate ich na google.com/recaptcha/admin/create (zvoľte typ reCAPTCHA v3, pridajte doménu svojho e-shopu)
- Zaškrtnite Reklamačný formulár a uložte
S pozdravom
Dobrý deň, ochrana captha na reklamačný form mi funguje ale po kontrole funknosti sme objavili nasledovný bug, posielam stručný popis.
Checkbox „Formulár odstúpenia” uloží do databázy len hodnotu oodz_recaptcha_withdrawal = 1. Táto hodnota sa potom posiela do prehliadača ako oodzRecaptcha.withdrawal. V kóde pluginu 2.7.3 sa ale na nej nič nerobí:
- JS (oodz-script.js:726-729): reCAPTCHA je len v odoslaní reklamácie. Kontroluje
oodzRecaptcha.complaint a žiada token s akciou oodz_complaint. Pre odstúpenie neexistuje žiadny kód, ktorý by token vytvoril.
- PHP:
verify_recaptcha() sa volá len v handle_complaint_submit (odstupenie-od-zmluvy.php:1892-1895). V handle_submit (odstúpenie) sa nevolá vôbec a formulár nemá ani skryté pole recaptcha_token (reklamácia ho má na riadku 1866).
- Changelog 2.7.0 sľubuje ochranu len pre „reklamačný formulár”. Voľba v nastaveniach pre odstúpenie je teda pravdepodobne nedokončená alebo zabudnutá.
ďakujem za preverenie.
Dobrý deň,
ďakujeme za hlásenie — chyba je potvrdená a opravená vo verzii 2.7.4.
Checkbox „Formulár odstúpenia” v nastaveniach ukladal hodnotu správne, ale samotná ochrana nebola implementovaná: JS nikdy nevytvoril reCAPTCHA token pre tento formulár a PHP ho nikdy neoveroval. Konkrétne:
- JS — doplnený
grecaptcha.execute() s akciou oodz_withdrawal, token sa pridá do odosielaných dát pred submitom (rovnaký vzor ako reklamačný formulár)
- PHP — doplnená
verify_recaptcha() kontrola v handle_submit() hneď po overení nonce
Odporúčame aktualizovať na 2.7.4.