{"id":24479,"date":"2021-05-16T20:08:00","date_gmt":"2021-05-16T17:08:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24479"},"modified":"2021-10-18T03:13:04","modified_gmt":"2021-10-18T00:13:04","slug":"come-creare-honeypot-per-combattere-lo-spam-dei-moduli-in-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-creare-honeypot-per-combattere-lo-spam-dei-moduli-in-laravel\/","title":{"rendered":"Come creare Honeypot per combattere lo spam dei moduli in Laravel"},"content":{"rendered":"<p>Una volta che il tuo sito web sar\u00e0 attivo molto presto, inizierai a ricevere spam dai moduli del tuo sito web. Gli spambot scrivono un programma per computer che compila semplicemente il modulo con informazioni false. \u00c8 un grattacapo per i proprietari di siti ripulire questi dati indesiderati e proteggere il database da tali record non necessari. Questo articolo \u00e8 stato scritto per le persone che hanno creato la loro applicazione utilizzando Laravel. Studieremo come proteggere i propri moduli dallo spam in Laravel.<\/p>\n<p>L&#8217;utente pu\u00f2 aggiungere reCAPTCHA sul proprio modulo che verificher\u00e0 se i valori del modulo sono compilati da umani o meno. Ma cos\u00ec facendo, i tuoi utenti devono risolvere il puzzle prima di inviare un modulo. Un altro modo \u00e8 aggiungere l&#8217;ultima versione di Google reCAPTCHA. Ma mostrer\u00e0 un&#8217;icona reCAPTCHA nell&#8217;angolo in basso a destra del tuo sito web.<\/p>\n<p>Alla maggior parte dei proprietari di siti non piacciono i captcha. E se odi i captcha, tieni un honeypot nei tuoi moduli che intrappolerebbe gli spambot.<\/p>\n<p>Per lo pi\u00f9 gli spambot sono stupidi, possiamo dire che riempiono tutti i campi del modulo. Non sono a conoscenza di quali campi del modulo sono effettivamente in uso per ulteriori processi. Possiamo sfruttare questo scenario e aggiungere un campo di input fittizio (honeypot) al nostro modulo. Questo campo nascosto dovrebbe rimanere vuoto al momento dell&#8217;invio del modulo. Quindi, mentre controlli sul lato server se questo campo nascosto \u00e8 vuoto, allora sar\u00e0 un invio di modulo valido e se non \u00e8 vuoto, allora sar\u00e0 spam. Detto questo, diamo un&#8217;occhiata a come creare honeypot e proteggere i moduli dei siti Web dallo spam.<\/p>\n<h3>Crea Honeypot e previeni il modulo dallo spam<\/h3>\n<p>Come abbiamo detto, utilizzando un campo nascosto possiamo ingannare gli spambot e interrompere l&#8217;invio del modulo sul lato server. Per questo scopo, useremo il <a href=\"https:\/\/github.com\/spatie\/laravel-honeypot\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pacchetto laravel-honeypot<\/a>. Utilizzando questo pacchetto, un utente pu\u00f2 proteggere facilmente uno o pi\u00f9 moduli. Non hanno bisogno di scrivere il codice lato server per ogni modulo separatamente.<\/p>\n<p>Per l&#8217;installazione del pacchetto, apri il terminale nella directory principale del progetto ed esegui il comando:<\/p>\n<pre><code>composer require spatie\/laravel-honeypot<\/code><\/pre>\n<p>Dopo l&#8217;installazione del pacchetto, pubblica il file di configurazione del pacchetto utilizzando il comando:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieHoneypotHoneypotServiceProvider\" --tag=config<\/code><\/pre>\n<p>Questo comando aggiunger\u00e0 il <code>honeypot.php<\/code>file nella <code>config<\/code>directory. Non \u00e8 necessario modificare il file di configurazione. Invece, nel <code>.env<\/code>file aggiungi la costante mostrata di seguito.<\/p>\n<pre><code>HONEYPOT_NAME=honeypot_for_bots<\/code><\/pre>\n<p>Qui abbiamo dato il nome &#8216;honeypot_for_bots&#8217; che sar\u00e0 il nome del tuo campo nascosto. Puoi assegnare qualsiasi altro nome a questa costante.<\/p>\n<p>Quindi, registra il middleware globale che protegger\u00e0 tutti i tuoi moduli da un unico posto.<\/p>\n<p><strong>appHttpKernel.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u2026\n\u2026\nprotected $middleware = [\n\u00a0\u00a0\u00a0\/\/ ...\n\u00a0\u00a0\u00a0SpatieHoneypotProtectAgainstSpam::class,\n];<\/code><\/pre>\n<p>Tutto fatto! Ora vai al tuo modulo e aggiungi l&#8217;honeypot aggiungendo <code>@honeypot<\/code>nel modulo HTML. Il tuo file blade assomiglier\u00e0 a qualcosa di simile sotto.<\/p>\n<pre><code>&lt;form action=\"\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0@honeypot\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"fullname\" placeholder=\"Full Name\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n&lt;\/form&gt;<\/code><\/pre>\n<p>Ora, se gli spambot stanno cercando di inviare spam nel tuo modulo, il pacchetto scarter\u00e0 la richiesta. Di conseguenza, nessun altro spam finir\u00e0 nel tuo database.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\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<li><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-gli-eventi-e-gli-ascoltatori-di-laravel-nella-tua-applicazione\/\" title=\"Come utilizzare gli eventi e gli ascoltatori di Laravel nella tua applicazione\">Come utilizzare gli eventi e gli ascoltatori di Laravel nella tua applicazione<\/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>In questo articolo, studiamo come aggiungere honeypot in Laravel e proteggere il tuo modulo dallo spam. Honeypot non \u00e8 altro che un campo fittizio nella forma che si usa per<\/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-24479","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\/24479","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=24479"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24479\/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=24479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}