Captcha

31 views
Skip to first unread message

Massimiliano

unread,
May 3, 2016, 9:06:06 AM5/3/16
to symfony-it
Buongiorno a tutti,

avrei bisogno di utilizzare un sistema captcha nella mia applicazione, stavo cercando di installare il gregwar captchabundle ma ho dei problemi cosa mi consigliate di altro?


Grazie in anticipo.

Massimiliano Arione

unread,
May 3, 2016, 9:11:51 AM5/3/16
to symfony-it
Il giorno martedì 3 maggio 2016 15:06:06 UTC+2, Massimiliano ha scritto:
Buongiorno a tutti,

avrei bisogno di utilizzare un sistema captcha nella mia applicazione, stavo cercando di installare il gregwar captchabundle ma ho dei problemi cosa mi consigliate di altro?

Massimiliano

unread,
May 3, 2016, 10:02:02 AM5/3/16
to symfony-it
tks

Massimiliano

unread,
May 4, 2016, 10:05:30 AM5/4/16
to symfony-it
Sto leggendo la documentazione del beelab recaptcha 2 bundle,

come devo definire in parameters i:

recaptcha_site_key;
recaptcha_secret;

?

Grazie ancora

Massimiliano

unread,
May 4, 2016, 10:12:35 AM5/4/16
to symfony-it
Un'altra domanda, ma non è possibile quindi testarlo in fase di sviluppo?

Massimiliano Arione

unread,
May 4, 2016, 10:59:33 AM5/4/16
to symfony-it
I parametri te li dà google dopo che ti sei registrato al servizio.
La non testabilità è per definizione, se un computer fosse in grado di passare un captcha il captcha cesserebbe di essere tale

ciao
M.

Marco Albarelli

unread,
May 13, 2016, 2:46:20 AM5/13/16
to symfony-it
Beh, a pian
Non è testabile contro il servizio esterno vero
Se uno si fa dei mock del servizio la cosa è più che fattibile

Ovviamente poi bisogna preoccuparsi di mantenere aggiornati i mock se serve,ma quelle Api di solito non cambiano praticamente mai

Nell'implementazione io metterei una gestione dell'errore un po' verbosa, magari anche un invio di mail a dev@....

Massimiliano

unread,
Apr 10, 2017, 6:15:14 AM4/10/17
to symfony-it
Ciao,

ritorno sull'argomento, ho installato il https://github.com/Bee-Lab/BeelabRecaptcha2Bundle

seguendo la documentazione per la configurazione

ho aggiunto il bundle nel kernel

ho aggiunto

beelab_recaptcha2:
    site_key: "%recaptcha_site_key%"
    secret: "%recaptcha_secret%"

nel config.yml definendo i parametri sopra citati nel parameters.yml con quelli forniti da google

ho aggiunto nel form di registrazione

->add('captcha', RecaptchaType::class, [ 'constraints' => new Recaptcha2(['groups' => ['create']]), // "groups" option is not mandatory ])

e ho aggiunto

<script src="//www.google.com/recaptcha/api.js?hl={{ app.request.locale }}"></script>

nel twig di registrazione.

Solo che nel momento in cui provo ad accedere alla pagina di registrazione (stiamo parlando di produzione) prendo l'errore:

[2017-04-10 12:00:15] request.CRITICAL: Uncaught PHP Exception Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException: "Neither the property "captcha" nor one of the methods "getCaptcha()", "captcha()", "isCaptcha()", "hasCaptcha()", "__get()" exist and have public access in class "AppBundle\Entity\User"." at /var/www/vhosts/pincopallino.com/httpdocs/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php line 486 {"exception":"[object] (Symfony\\Component\\PropertyAccess\\Exception\\NoSuchPropertyException(code: 0): Neither the property \"captcha\" nor one of the methods \"getCaptcha()\", \"captcha()\", \"isCaptcha()\", \"hasCaptcha()\", \"__get()\" exist and have public access in class \"AppBundle\\Entity\\User\". at /var/www/vhosts/pincopallino.com/httpdocs/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php:486)"} []

Devo aggiungere il captcha come proprietà dell'entity user? Dalla doc non sembrava sottinteso, se si in che modo la devo aggiungere??

Grazie

Massimiliano

unread,
Apr 10, 2017, 7:24:20 AM4/10/17
to symfony-it
Risolto
Reply all
Reply to author
Forward
0 new messages