{"id":24326,"date":"2021-05-16T20:27:00","date_gmt":"2021-05-16T17:27:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24326"},"modified":"2021-10-18T02:16:08","modified_gmt":"2021-10-17T23:16:08","slug":"comment-creer-un-pot-de-miel-pour-lutter-contre-le-spam-de-formulaire-dans-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-creer-un-pot-de-miel-pour-lutter-contre-le-spam-de-formulaire-dans-laravel\/","title":{"rendered":"Comment cr\u00e9er un pot de miel pour lutter contre le spam de formulaire dans Laravel"},"content":{"rendered":"<p>Une fois que votre site Web sera mis en ligne tr\u00e8s bient\u00f4t, vous commencerez \u00e0 recevoir du spam provenant des formulaires de votre site Web. Les spambots \u00e9crivent un programme informatique qui ne fait que remplir votre formulaire avec de fausses informations. C&rsquo;est un casse-t\u00eate pour les propri\u00e9taires de sites de nettoyer ces donn\u00e9es ind\u00e9sirables et de prot\u00e9ger votre base de donn\u00e9es de ces enregistrements inutiles. Cet article est \u00e9crit pour les personnes qui ont construit leur application \u00e0 l&rsquo;aide de Laravel. Nous \u00e9tudierons comment prot\u00e9ger leurs formulaires du spam dans Laravel.<\/p>\n<p>L&rsquo;utilisateur peut ajouter reCAPTCHA sur son formulaire qui testera si les valeurs du formulaire sont remplies par des humains ou non. Mais ce faisant, vos utilisateurs doivent r\u00e9soudre le casse-t\u00eate avant de soumettre un formulaire. Une autre solution consiste \u00e0 ajouter la derni\u00e8re version de Google reCAPTCHA. Mais il affichera une ic\u00f4ne reCAPTCHA dans le coin inf\u00e9rieur droit de votre site Web.<\/p>\n<p>La plupart des propri\u00e9taires de sites n&rsquo;aiment pas les captchas. Et si vous d\u00e9testez les captchas alors gardez un pot de miel dans vos formulaires qui pi\u00e9gerait les spambots.<\/p>\n<p>On peut dire que la plupart des spambots sont stupides car ils ne font que remplir tous les champs de votre formulaire. Ils ne savent pas quels champs de formulaire sont r\u00e9ellement utilis\u00e9s pour la suite du processus. Nous pouvons profiter de ce sc\u00e9nario et ajouter un champ de saisie factice (pot de miel) \u00e0 notre formulaire. Ce champ masqu\u00e9 doit rester vide au moment de la soumission du formulaire. Ainsi, en v\u00e9rifiant c\u00f4t\u00e9 serveur si ce champ cach\u00e9 est vide, ce sera une soumission de formulaire valide et s&rsquo;il n&rsquo;est pas vide, ce sera du spam. Cela dit, examinons comment cr\u00e9er un pot de miel et prot\u00e9ger les formulaires de sites Web contre le spam.<\/p>\n<h3>Cr\u00e9er un pot de miel et emp\u00eacher le formulaire de spam<\/h3>\n<p>Comme nous l&rsquo;avons dit, en utilisant un champ cach\u00e9, nous pouvons tromper les spambots et arr\u00eater la soumission du formulaire c\u00f4t\u00e9 serveur. Pour cela, nous allons utiliser le <a href=\"https:\/\/github.com\/spatie\/laravel-honeypot\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">package laravel-honeypot<\/a>. En utilisant ce package, un utilisateur peut facilement prot\u00e9ger un ou plusieurs formulaires. Ils n&rsquo;ont pas besoin d&rsquo;\u00e9crire du code c\u00f4t\u00e9 serveur pour chaque formulaire s\u00e9par\u00e9ment.<\/p>\n<p>Pour l&rsquo;installation du package, ouvrez le terminal dans le r\u00e9pertoire racine de votre projet et ex\u00e9cutez la commande\u00a0:<\/p>\n<pre><code>composer require spatie\/laravel-honeypot<\/code><\/pre>\n<p>Lors de l&rsquo;installation du package, publiez le fichier de configuration du package \u00e0 l&rsquo;aide de la commande\u00a0:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieHoneypotHoneypotServiceProvider\" --tag=config<\/code><\/pre>\n<p>Cette commande ajoutera un <code>honeypot.php<\/code>fichier sous le <code>config<\/code>r\u00e9pertoire. Vous n&rsquo;avez pas besoin de modifier le fichier de configuration. Au lieu de cela, dans le <code>.env<\/code>fichier, ajoutez la constante indiqu\u00e9e ci-dessous.<\/p>\n<pre><code>HONEYPOT_NAME=honeypot_for_bots<\/code><\/pre>\n<p>Ici, nous avons donn\u00e9 le nom &lsquo;honeypot_for_bots&rsquo; qui sera le nom de votre champ cach\u00e9. Vous pouvez d\u00e9finir n&rsquo;importe quel autre nom pour cette constante.<\/p>\n<p>Ensuite, enregistrez le middleware global qui prot\u00e9gera tous vos formulaires \u00e0 partir d&rsquo;un seul endroit.<\/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>Termin\u00e9! Allez maintenant dans votre formulaire et ajoutez-y le pot de miel en ajoutant <code>@honeypot<\/code>le formulaire HTML. Votre fichier de lame ressemblera \u00e0 quelque chose comme ci-dessous.<\/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>D\u00e9sormais, si des robots spammeurs tentent d&rsquo;envoyer du spam dans votre formulaire, le package rejettera la demande. En cons\u00e9quence, plus aucun spam ne se retrouvera dans votre base de donn\u00e9es.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/un-guide-sur-l-ajout-de-google-recaptcha-v3-a-votre-site-web-laravel\/\" title=\"Un guide sur l&#039;ajout de Google reCAPTCHA v3 \u00e0 votre site Web Laravel\">Un guide sur l&rsquo;ajout de Google reCAPTCHA v3 \u00e0 votre site Web Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-utiliser-les-evenements-et-les-ecouteurs-laravel-dans-votre-application\/\" title=\"Comment utiliser les \u00e9v\u00e9nements et les \u00e9couteurs Laravel dans votre application\">Comment utiliser les \u00e9v\u00e9nements et les \u00e9couteurs Laravel dans votre application<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions comment ajouter un pot de miel dans Laravel et prot\u00e9ger votre formulaire du spam. Honeypot n&rsquo;est rien d&rsquo;autre qu&rsquo;un champ factice sous la forme utilis\u00e9e pour<\/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":[497],"tags":[844],"class_list":["post-24326","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24326"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24326\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21671"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}