{"id":25583,"date":"2021-06-03T17:30:00","date_gmt":"2021-06-03T14:30:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25583"},"modified":"2021-10-18T03:05:58","modified_gmt":"2021-10-18T00:05:58","slug":"integra-google-invisible-recaptcha-con-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/integra-google-invisible-recaptcha-con-php\/","title":{"rendered":"Integra Google Invisible reCAPTCHA con PHP"},"content":{"rendered":"<p>Al giorno d&#8217;oggi \u00e8 necessario aggiungere captcha ai moduli del sito web. Altrimenti, la tua casella di posta e il database si riempiono di tonnellate di spam. Ci fa solo perdere tempo a ripulire le e-mail e occupa anche spazio extra nel database del server.<\/p>\n<p>Google reCAPTCHA \u00e8 un modo migliore per proteggere i tuoi moduli dai bot. Usando reCAPTCHA, procederai con i tuoi moduli solo se ha interazioni umane reali.<\/p>\n<p>In questo articolo, studiamo come integrare Google Invisible reCAPTCHA sui moduli del tuo sito web con PHP. Nel caso di Invisible reCAPTCHA, i tuoi visitatori non hanno bisogno di risolvere enigmi. Deve convalidare la richiesta in background sul lato server.<\/p>\n<h3>Registra il sito e ottieni le chiavi API<\/h3>\n<p>Per iniziare, registra il tuo sito qui \u2013 <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/www.google.com\/recaptcha\/admin<\/a>.<\/p>\n<p>Scegli un&#8217;opzione &quot;Badge reCAPTCHA invisibile&quot; da &quot;reCAPTCHA v2&quot;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20366-6081e5c0514d1.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20366-6081e5c0514d1.png\" alt=\"Integra Google Invisible reCAPTCHA con PHP\" ><\/a><\/p>\n<p>Aggiungi il tuo dominio nello stesso modulo. Puoi inserire quanti domini vuoi. Per un server locale aggiunge il dominio come localhost. Dopo aver inviato un modulo, otterrai le chiavi API. Copia queste chiavi. Sar\u00e0 richiesto nei passaggi successivi.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20366-6081e5c0e03db.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20366-6081e5c0e03db.png\" alt=\"Integra Google Invisible reCAPTCHA con PHP\" ><\/a><\/p>\n<h3>Integra Google Invisible reCAPTCHA<\/h3>\n<p>Per aggiungere un reCAPTCHA invisibile nel modulo \u00e8 necessario un approccio leggermente diverso. Dobbiamo passare gli attributi dei dati al pulsante e inviare il modulo utilizzando JavaScript come segue.<\/p>\n<pre><code>&lt;form method=\"post\" id=\"userForm\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" class=\"form-control\" name=\"fullname\" placeholder=\"Enter full name\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;button class=\"g-recaptcha btn btn-primary\" data-sitekey=\"YOUR_SITE_KEY\" data-callback=\"submitForm\"&gt;Submit&lt;\/button&gt;&lt;\/p&gt;\n&lt;\/form&gt;\n\u00a0\n&lt;script src='https:\/\/www.google.com\/recaptcha\/api.js'&gt;&lt;\/script&gt;\n&lt;script&gt;\nfunction submitForm() {\n\u00a0\u00a0\u00a0\u00a0document.getElementById('userForm').submit();\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p>Questo codice aggiunge Invisible reCAPTCHA nel tuo modulo. Se ricarichi la pagina, vedrai il logo reCAPTCHA nell&#8217;angolo in basso a destra della pagina.<\/p>\n<p>Qui, abbiamo passato la chiave del sito reCAPTCHA all&#8217;attributo &#8216;data-sitekey&#8217; e il nome del metodo &#8216;submitForm&#8217; all&#8217;attributo &#8216;data-callback&#8217;. Quando l&#8217;utente fa clic sul pulsante, chiama il metodo di callback che invia un modulo utilizzando JavaScript.<\/p>\n<p>Ora \u00e8 il momento della convalida lato server. Verificheremo il valore della risposta reCAPTCHA rispetto all&#8217;URL dell&#8217;API di Google come segue.<\/p>\n<pre><code>if (isset($_POST['g-recaptcha-response'])) {\n\u00a0\u00a0\u00a0\u00a0$secret_key = 'YOUR_SECRET_KEY';\n\u00a0\u00a0\u00a0\u00a0$url = 'https:\/\/www.google.com\/recaptcha\/api\/siteverify?secret='.$secret_key.'&amp;response='.$_POST['g-recaptcha-response'];\n\u00a0\u00a0\u00a0\u00a0$curl = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_URL, $url);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_HEADER, false);\n\u00a0\u00a0\u00a0\u00a0$data = curl_exec($curl);\n\u00a0\u00a0\u00a0\u00a0curl_close($curl);\n\u00a0\u00a0\u00a0\u00a0$responseCaptchaData = json_decode($data);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if($responseCaptchaData-&gt;success) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Captcha verified';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/proceed with form values\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Verification failed';\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Quando un vero umano invia il tuo modulo, genera una risposta reCAPTCHA che quindi il codice sopra verifica con l&#8217;API di Google. Se il modulo viene inviato tramite bot, la verifica di cui sopra fallisce. Dovresti procedere con il modulo solo in caso di risposta positiva.<\/p>\n<p>Il nostro codice finale \u00e8 il seguente.<\/p>\n<pre><code>&lt;?php\nif (isset($_POST['g-recaptcha-response'])) {\n\u00a0\u00a0\u00a0\u00a0$secret_key = 'YOUR_SECRET_KEY';\n\u00a0\u00a0\u00a0\u00a0$url = 'https:\/\/www.google.com\/recaptcha\/api\/siteverify?secret='.$secret_key.'&amp;response='.$_POST['g-recaptcha-response'];\n\u00a0\u00a0\u00a0\u00a0$curl = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_URL, $url);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($curl, CURLOPT_HEADER, false);\n\u00a0\u00a0\u00a0\u00a0$data = curl_exec($curl);\n\u00a0\u00a0\u00a0\u00a0curl_close($curl);\n\u00a0\u00a0\u00a0\u00a0$responseCaptchaData = json_decode($data);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if($responseCaptchaData-&gt;success) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Captcha verified';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/proceed with form values\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Verification failed';\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;\n&lt;form method=\"post\" id=\"userForm\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" class=\"form-control\" name=\"fullname\" placeholder=\"Enter full name\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;button class=\"g-recaptcha btn btn-primary\" data-sitekey=\"YOUR_SITE_KEY\" data-callback=\"submitForm\"&gt;Submit&lt;\/button&gt;&lt;\/p&gt;\n&lt;\/form&gt;\n\u00a0\n&lt;script src='https:\/\/www.google.com\/recaptcha\/api.js'&gt;&lt;\/script&gt;\n&lt;script&gt;\nfunction submitForm() {\n\u00a0\u00a0\u00a0\u00a0document.getElementById('userForm').submit();\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p>Questo \u00e8 tutto! Goditi i moduli senza spam sul tuo sito web. Mi piacerebbe sentire i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/utilizzo-di-google-recaptcha-sui-moduli-del-tuo-sito-web-con-php\/\" title=\"Utilizzo di Google reCAPTCHA sui moduli del tuo sito web con PHP\">Utilizzo di Google reCAPTCHA sui moduli del tuo sito web con PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/convalida-google-recaptcha-utilizzando-javascript\/\" title=\"Convalida Google reCAPTCHA utilizzando JavaScript\">Convalida Google reCAPTCHA utilizzando JavaScript<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/una-guida-sull-aggiunta-di-google-recaptcha-v3-al-tuo-sito-web-laravel\/\" title=\"Una guida sull&#039;aggiunta di Google reCAPTCHA v3 al tuo sito web Laravel\">Una guida sull&#8217;aggiunta di Google reCAPTCHA v3 al tuo sito web Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stai cercando di integrare Google Invisible reCAPTCHA nel modulo del tuo sito web? In questo articolo, ti mostro come aggiungere e verificare l&#8217;invisibile<\/p>\n","protected":false},"author":1,"featured_media":21642,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[276],"tags":[846],"class_list":["post-25583","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=25583"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25583\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21642"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}