{"id":26236,"date":"2021-06-16T16:24:00","date_gmt":"2021-06-16T13:24:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26236"},"modified":"2021-10-18T03:00:15","modified_gmt":"2021-10-18T00:00:15","slug":"una-guida-all-integrazione-di-hcaptcha-con-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/una-guida-all-integrazione-di-hcaptcha-con-php\/","title":{"rendered":"Una guida all&#8217;integrazione di hCaptcha con PHP"},"content":{"rendered":"<p>Recentemente uno dei nostri lettori ha chiesto informazioni sull&#8217;integrazione di hCapctha su un sito web. L&#8217; <a href=\"https:\/\/www.hcaptcha.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hCaptcha<\/a> \u00e8 una bella alternativa al servizio Google reCAPTCHA. In questo articolo, studiamo come si pu\u00f2 aggiungere hCapctha con PHP sul proprio sito web.<\/p>\n<p>Si consiglia sempre di avere un captcha nei moduli del sito web. Gli spam sono davvero brutti e ti frustrano. Non vorrai mai sprecare il tuo tempo prezioso per cancellare commenti falsi\/non necessari.<\/p>\n<p>Utilizzando hCaptcha, l&#8217;utente deve risolvere le sfide prima di inviare un modulo. E il tuo modulo dovrebbe procedere solo se il captcha supera la sua verifica. Integrando captcha, evita che un sacco di spam entrino nel database e nella tua casella di posta. Perch\u00e9 solo un vero umano pu\u00f2 risolvere gli enigmi del captcha.<\/p>\n<p>Detto questo, diamo un&#8217;occhiata all&#8217;integrazione di hCaptcha con PHP. Richiede di verificare la risposta hCaptcha sul lato server. Scriveremo il codice lato server utilizzando sia cURL che la libreria Guzzle. L&#8217;utente pu\u00f2 utilizzarne uno qualsiasi.<\/p>\n<h3>Iniziare<\/h3>\n<p>Devi prima creare un account con il servizio <a href=\"https:\/\/www.hcaptcha.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hCaptcha<\/a>. A differenza di Google reCAPTCHA, puoi utilizzare le chiavi hCaptcha direttamente sul tuo sito web. Non \u00e8 necessario registrare il tuo dominio con loro.<\/p>\n<p>Ma se lo desideri, puoi aggiungere il tuo dominio facendo clic sul pulsante <strong>+Nuovo sito<\/strong>. Si aprir\u00e0 un modulo in cui devi passare il tuo dominio al campo Hostnames.<\/p>\n<p>Quindi, fai clic sull&#8217;icona delle impostazioni dalla tabella e prendi la chiave del tuo sito.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20195-6081cb5f289f4.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-20195-6081cb5f289f4.png\" alt=\"Una guida all&#039;integrazione di hCaptcha con PHP\" ><\/a><\/p>\n<p>Per ottenere la chiave segreta, fai clic sulla scheda &quot;Impostazioni&quot;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20195-6081cb5fbc9c8.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-20195-6081cb5fbc9c8.png\" alt=\"Una guida all&#039;integrazione di hCaptcha con PHP\" ><\/a><\/p>\n<p>Una volta che sei pronto con le chiavi, sono necessari 2 passaggi da seguire. Innanzitutto, aggiungi hCaptcha al tuo modulo. E poi convalidare la risposta captcha sul lato server.<\/p>\n<p>Creiamo un modulo semplice e aggiungiamo hCaptcha come segue.<\/p>\n<pre><code>&lt;form action=\"\" method=\"POST\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"email\" placeholder=\"Email\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"password\" name=\"password\" placeholder=\"Password\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"h-captcha\" data-sitekey=\"YOUR_SITE_KEY\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;br \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;\n&lt;script src=\"https:\/\/hcaptcha.com\/1\/api.js\" async defer&gt;&lt;\/script&gt;<\/code><\/pre>\n<p>Qui abbiamo incluso la libreria JavaScript di hCaptcha e aggiunto una classe <code>h-captcha<\/code>al contenitore div. Devi anche passare la tua chiave del sito all&#8217;attributo dei <strong>dati data-sitekey<\/strong>.<\/p>\n<p>Ricarica la pagina e ora dovresti vedere la casella di controllo hCaptcha aggiunta al modulo. Vediamo ora come validare la risposta captcha.<\/p>\n<h3>Convalida la risposta hCaptcha utilizzando cURL<\/h3>\n<p>Quando un utente invia un modulo insieme a un captcha, \u00e8 necessario verificare la risposta captcha sul lato server. Per la verifica, devi inviare richieste POST all&#8217;endpoint di hCaptcha <code>https:\/\/hcaptcha.com\/siteverify<\/code>. Nella richiesta POST, i parametri sono la chiave segreta e h-captcha-response (che proviene dal modulo inviato).<\/p>\n<p>In PHP, possiamo usare sia cURL che Guzzle per interagire con il server esterno. Durante l&#8217;invio di richieste tramite cURL, assicurati che l&#8217;estensione cURL sia abilitata sul tuo server.<\/p>\n<p>In caso di cURL, il tuo codice sar\u00e0 il seguente per verificare la risposta hCaptcha.<\/p>\n<pre><code>&lt;?php\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\u00a0\u00a0$data = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; \"YOUR_SECRET_KEY\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'response' =&gt; $_POST['h-captcha-response']\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init();\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_URL, \"https:\/\/hcaptcha.com\/siteverify\");\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POST, true);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0$response = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0$responseData = json_decode($response);\n\u00a0\u00a0\u00a0\u00a0if($responseData-&gt;success) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ proceed the form\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Robot verification failed, please try again.';\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Sostituisci il segnaposto con il valore effettivo. Nel codice sopra, stiamo controllando se la <code>success<\/code>variabile \u00e8 vera nella risposta. Se \u00e8 vero, il modulo \u00e8 sicuro per procedere.<\/p>\n<h3>Convalida la risposta hCaptcha utilizzando Guzzle<\/h3>\n<p><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-guzzle-un-client-http-php-per-l-invio-di-richieste-http\/\" title=\"Guzzle\">Guzzle<\/a> \u00e8 un&#8217;alternativa a cURL. Ti fornisce un codice molto pi\u00f9 pulito rispetto a cURL. Se stai usando Guzzle, non hai bisogno di avere un&#8217;estensione cURL sul tuo server.<\/p>\n<p>Per iniziare, devi prima installare la libreria Guzzle nel tuo progetto. Eseguire il comando seguente per l&#8217;installazione di una libreria.<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Successivamente, scrivi il codice sottostante che verificher\u00e0 la risposta hCAPTCHA utilizzando la libreria Guzzle.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse GuzzleHttpClient;\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'https:\/\/hcaptcha.com',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('POST', '\/siteverify', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'form_params' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; \"YOUR_SECRET_KEY\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'response' =&gt; $_POST['h-captcha-response']\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0if($arr_body-&gt;success) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ proceed the form\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Robot verification failed, please try again.';\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Spero che tu capisca l&#8217;integrazione di hCaptcha con PHP usando cURL e Guzzle. Per favore condividi 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\/sintesi-vocale-utilizzando-amazon-polly-in-php\/\" title=\"Sintesi vocale utilizzando Amazon Polly in PHP\">Sintesi vocale utilizzando Amazon Polly in PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-aggiungere-l-accesso-oauth-a-twitter-nel-sito-web-con-php\/\" title=\"Come aggiungere l&#039;accesso OAuth a Twitter nel sito Web con PHP\">Come aggiungere l&#8217;accesso OAuth a Twitter nel sito Web con PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/comprimi-le-immagini-per-il-sito-web-utilizzando-resmush-it-in-php\/\" title=\"Comprimi le immagini per il sito web utilizzando reSmush.it in PHP\">Comprimi le immagini per il sito web utilizzando reSmush.it in PHP<\/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>Vuoi conoscere l&#8217;integrazione di hCaptcha con PHP? In questo articolo, studiamo come utilizzare cURL e Guzzle e integriamo hCaptcha sul tuo<\/p>\n","protected":false},"author":1,"featured_media":21620,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[276],"tags":[846],"class_list":["post-26236","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\/26236","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=26236"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/26236\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21620"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=26236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=26236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=26236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}