Qualcuno può chiarire per favore quale è l'ultima pagina della documentazione recaptcha, la trovo eccezionalmente ottusa.Documentazione Recaptcha poco chiara - e test di errore cross-site
Ecco la documentazione non riesco a capire:
Verifica la risposta dell'utente
Questa pagina spiega come verificare la risposta di un utente a una sfida reCAPTCHA dal backend dell'applicazione. Quando un reCAPTCHA viene risolto dall'utente , un nuovo campo (g-recaptcha-response) verrà popolato nel codice HTML . È possibile verificare la risposta dell'utente in uno dei tre modi:
parametro POST g-recaptcha-response quando l'utente invia il modulo su sito. grecaptcha.getResponse (opt_widget_id) dopo che l'utente completa la sfida CAPTCHA. Come un argomento stringa alla funzione di callback se i dati-callback è specificato sia nel g-recaptcha tag attributo o il parametro di callback nel metodo grecaptcha.render
API Richiesta
In che modo posso "verificare"?
Dice che ci sono tre modi in cui posso "verificare la risposta dell'utente", quindi prendiamo il primo: c'è ora un parametro POST nel modulo inviato chiamato g-recaptcha-response con alcuni contenuti gobbledygook. La mia domanda è: ora cosa? Devo solo controllare che non sia nullo?
Oppure devo inviarlo a google utilizzando la richiesta API di seguito indicata e quindi controllare la risposta? Questo potrebbe avere senso, ma sarebbe bello se lo scrivessero i documenti, invece dice semplicemente "Richiesta API". Sarebbe anche bello se lo spiegassero che il response_string è (presumibilmente) il contenuto del parametro g-recaptcha-response.
Ovviamente la mia istruzione costosa non era abbastanza costosa, per favore qualcuno potrebbe confermare per la mia tranquillità che dovrei fare la richiesta API.
Questo mi porta al secondo problema: è possibile verificare che il widget recaptcha funziona bene dalla macchina locale, ma non è possibile verificare l' 'API richiesta' - ottengo un errore di cross-site
XMLHttpRequest non può caricare https://www.google.com/recaptcha/api/siteverify. Nessuna intestazione 'Access-Control-Allow-Origin' è presente sulla risorsa richiesta. L'origine '
http://localhost
' non è quindi consentita l'accesso.
Qualcuno conosce un modo per aggirare questo in modo da poter eseguire test?
Grazie per la risposta. Dopo molte torture ho finalmente lavorato tutto da solo, ma non grazie alla documentazione. Ho anche perso un sacco di tempo cercando di verificare dal browser, hai ragione: di nuovo, un'altra trappola che la documentazione avrebbe potuto esplicitare, giusto? – mwarren
Sì, sono cose fondamentali che hanno dimenticato di menzionare! Era la mia prima volta che lavoravo con il recaptcha oggi e mi stavo anche grattando la testa. – chichilatte
@chichilatte Sto usando Java sul lato server per convalidare la risposta g-recaptcha, ma sto ricevendo IOException: ** Ho provato tutti: 1 indirizzi, ma non sono riuscito a connettermi tramite HTTPS al server: porta google.com: 443 * *. Sto cercando di connettermi all'URL: ** https: //google.com/recaptcha/api/siteverify** (provato con e senza www, ma lo stesso errore). Quale potrebbe essere la causa di ciò? –