{"id":25117,"date":"2021-05-26T10:15:00","date_gmt":"2021-05-26T07:15:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25117"},"modified":"2021-10-18T03:10:17","modified_gmt":"2021-10-18T00:10:17","slug":"come-aggiungere-non-sono-un-robot-captcha-in-laravel-forms","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-aggiungere-non-sono-un-robot-captcha-in-laravel-forms\/","title":{"rendered":"Come aggiungere Non sono un robot captcha in Laravel Forms"},"content":{"rendered":"<p>Stai cercando di aggiungere Google reCAPTCHA nei tuoi moduli Laravel? Google reCAPTCHA aiuta a proteggere i moduli dai bot che risultano salvarci dallo spam. Se non stai proteggendo i tuoi moduli, probabilmente stai ricevendo un sacco di spam nel database.<\/p>\n<p>Al momento in cui scriviamo, Google fornisce 2 versioni di reCAPTCHA: v2 e v3. Il reCAPTCHA v3 posiziona un&#8217;icona nell&#8217;angolo in basso a destra delle tue pagine e verifica le richieste con un punteggio. D&#8217;altra parte, reCAPTCHA v2 verifica le richieste con una sfida. In questo articolo, studiamo reCAPTCHA v2 e convalideremo le richieste con la casella di controllo &quot;Non sono un robot&quot;.<\/p>\n<h3>Perch\u00e9 hai bisogno di Google reCAPTCHA?<\/h3>\n<p>Un bot Internet \u00e8 un sistema che esegue script automatici su Internet. Prendono di mira i moduli del sito Web per inviare spam al database. Fondamentalmente, questo sistema funziona a un ritmo molto pi\u00f9 elevato rispetto agli umani da soli. Vogliamo sempre che un vero essere umano interagisca con i moduli del nostro sito Web, non un bot.<\/p>\n<p>Aggiungendo Google reCAPTCHA, possiamo proteggere i moduli del nostro sito Web da questi bot Internet, dai loro spam e abusi. \u00c8 impossibile per un sistema automatizzato risolvere la sfida impostata da reCAPTCHA. E il tuo modulo non verr\u00e0 inviato fino a quando la sfida non sar\u00e0 risolta. Un essere umano pu\u00f2 facilmente risolvere queste sfide e inviare un modulo.<\/p>\n<h3>Imposta Google reCAPTCHA sul tuo sito web Laravel<\/h3>\n<p>Per iniziare, devi prima registrare il sito su <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Google<\/a>. Scegli l&#8217;opzione reCAPTCHA v2 e la casella di controllo &quot;Non sono un robot&quot; come mostrato nello screenshot qui sotto.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20464-6081f5fd17f3f.png\"><\/a><\/p>\n<p>Al momento della registrazione del sito, copia la chiave del sito e la chiave segreta di cui avremo bisogno tra poco.<\/p>\n<p>Dobbiamo aggiungere reCAPTCHA nel progetto Laravel. Per svolgere il compito, user\u00f2 la <a href=\"https:\/\/github.com\/anhskohbo\/no-captcha\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">libreria anhskohbo\/no-captcha<\/a>.<\/p>\n<p>Apri il prompt dei comandi nella directory principale del tuo progetto ed esegui il comando:<\/p>\n<pre><code>composer require anhskohbo\/no-captcha<\/code><\/pre>\n<p>Apri il file &quot;config\/app.php&quot; e aggiungi la riga sottostante all&#8217;array &quot;provider&quot;.<\/p>\n<pre><code>AnhskohboNoCaptchaNoCaptchaServiceProvider::class,<\/code><\/pre>\n<p>Aggiungi l&#8217;alias di classe all&#8217;array di alias:<\/p>\n<pre><code>'NoCaptcha' =&gt; AnhskohboNoCaptchaFacadesNoCaptcha::class,<\/code><\/pre>\n<p>Pubblica il file di configurazione usando il comando:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"AnhskohboNoCaptchaNoCaptchaServiceProvider\"<\/code><\/pre>\n<p>Quindi, apri il <code>.env<\/code>file e specifica le chiavi reCAPTCHA come segue.<\/p>\n<pre><code>NOCAPTCHA_SECRET=secret-key\nNOCAPTCHA_SITEKEY=site-key<\/code><\/pre>\n<p>Assicurati di sostituire i segnaposto secret-key, site-key con i valori effettivi.<\/p>\n<p>Svuota la cache di configurazione eseguendo il comando seguente.<\/p>\n<pre><code>php artisan config:clear <\/code><\/pre>\n<h3>Aggiunta di Google reCAPTCHA al modulo in Laravel<\/h3>\n<p>A questo punto, hai completato la configurazione di base richiesta per reCAPTCHA. Ora scriviamo del codice e mettiamolo in azione.<\/p>\n<p>Apri il file di visualizzazione in cui desideri aggiungere la casella di controllo Non sono un robot. Nella parte superiore del file blade inizializzare l&#8217;origine JS come segue:<\/p>\n<pre><code>{!! NoCaptcha::renderJs() !!}<\/code><\/pre>\n<p>Aggiungi la seguente istruzione a riga singola nel punto in cui desideri visualizzare la casella di controllo reCAPTCHA. Il posto migliore \u00e8 prima del pulsante di invio.<\/p>\n<pre><code>{!! NoCaptcha::display() !!}<\/code><\/pre>\n<p>Ad esempio, creiamo un modulo con pochi campi e aggiungiamo reCAPTCHA utilizzando il codice sottostante.<\/p>\n<pre><code>{!! NoCaptcha::renderJs() !!}\n\u00a0\n@if ($errors-&gt;has('g-recaptcha-response'))\n\u00a0\u00a0\u00a0\u00a0&lt;span class=\"help-block\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;strong&gt;{{ $errors-&gt;first('g-recaptcha-response') }}&lt;\/strong&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/span&gt;\n@endif\n&lt;form action=\"{{ url('ROUTE_HERE') }}\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;Name: &lt;input type=\"text\" name=\"fullname\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;Email: &lt;input type=\"email\" name=\"email\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;Message: &lt;textarea name=\"message\"&gt;&lt;\/textarea&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0{!! NoCaptcha::display() !!}\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;&lt;\/p&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Dopo aver aggiunto le righe sopra, vedrai apparire reCAPTCHA come mostrato nello screenshot qui sotto.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20464-6081f5fd17f3f.png\"><\/a><\/p>\n<p>Nel codice sopra, ho anche aggiunto un codice che visualizza un errore se si verifica durante la convalida di un reCAPTCHA.<\/p>\n<p>Ora, dobbiamo convalidare il reCAPTCHA all&#8217;invio del modulo. Per raggiungere questo obiettivo, user\u00f2 <a href=\"https:\/\/laravel.com\/docs\/master\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Validator<\/a> come segue.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse IlluminateSupportFacadesValidator;\n\u00a0\nclass ContactController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0public function store(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$messages = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'g-recaptcha-response.required' =&gt; 'You must check the reCAPTCHA.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'g-recaptcha-response.captcha' =&gt; 'Captcha error! try again later or contact site admin.',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$validator = Validator::make($request-&gt;all(), [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'g-recaptcha-response' =&gt; 'required|captcha'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0], $messages);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($validator-&gt;fails()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return redirect('ROUTE_HERE')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withErrors($validator)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withInput();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ process the form\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0 \n}<\/code><\/pre>\n<p>Qui, ho incluso la facciata &#8216;Validator&#8217; e convalidando un reCAPTCHA nel metodo &#8216;store&#8217;. Se non riesce a convalidare, generer\u00e0 un errore.<\/p>\n<p>Questo \u00e8 tutto! Hai aggiunto con successo reCAPTCHA v2 con la casella di controllo Non sono un robot al modulo Laravel. Ora, il tuo modulo non verr\u00e0 inviato fino a quando il visitatore non risolver\u00e0 la sfida reCAPTCHA.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/sistema-di-registrazione-e-accesso-utente-in-laravel\/\" title=\"Sistema di registrazione e accesso utente in Laravel\">Sistema di registrazione e accesso utente in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/sistema-di-accesso-social-utilizzando-laravel-socialite\/\" title=\"Sistema di accesso social utilizzando Laravel Socialite\">Sistema di accesso social utilizzando Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/integrazione-del-gateway-di-pagamento-authorize-net-in-laravel\/\" title=\"Integrazione del gateway di pagamento Authorize.Net in Laravel\">Integrazione del gateway di pagamento Authorize.Net in 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>Vuoi implementare Non sono un robot captcha nei tuoi moduli Laravel? In questo articolo, ti mostriamo come configurare e utilizzare google reCaptcha in Laravel.<\/p>\n","protected":false},"author":1,"featured_media":21671,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[500],"tags":[846],"class_list":["post-25117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25117","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=25117"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/25117\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21671"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=25117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=25117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=25117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}