{"id":24319,"date":"2021-05-16T20:16:00","date_gmt":"2021-05-16T17:16:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24319"},"modified":"2021-10-18T02:41:38","modified_gmt":"2021-10-17T23:41:38","slug":"so-erstellen-sie-einen-honeypot-fuer-den-kampf-gegen-formular-spam-in-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-erstellen-sie-einen-honeypot-fuer-den-kampf-gegen-formular-spam-in-laravel\/","title":{"rendered":"So erstellen Sie einen Honeypot f\u00fcr den Kampf gegen Formular-Spam in Laravel"},"content":{"rendered":"<p>Sobald Ihre Website live geht, erhalten Sie Spam von Ihren Website-Formularen. Spambots schreiben ein Computerprogramm, das Ihr Formular einfach mit gef\u00e4lschten Informationen ausf\u00fcllt. Es bereitet Site-Besitzern Kopfschmerzen, diese unerw\u00fcnschten Daten zu bereinigen und Ihre Datenbank vor solchen unn\u00f6tigen Datens\u00e4tzen zu sch\u00fctzen. Dieser Artikel wurde f\u00fcr die Leute geschrieben, die ihre Anwendung mit Laravel erstellt haben. Wir werden untersuchen, wie man seine Formulare in Laravel vor Spam sch\u00fctzen kann.<\/p>\n<p>Der Benutzer kann seinem Formular reCAPTCHA hinzuf\u00fcgen, um zu testen, ob die Formularwerte von Menschen ausgef\u00fcllt werden oder nicht. Dazu m\u00fcssen Ihre Benutzer jedoch das R\u00e4tsel l\u00f6sen, bevor sie ein Formular absenden. Eine andere M\u00f6glichkeit besteht darin, die neueste Version von Google reCAPTCHA hinzuzuf\u00fcgen. Es wird jedoch ein reCAPTCHA-Symbol in der unteren rechten Ecke Ihrer Website angezeigt.<\/p>\n<p>Die meisten Seitenbesitzer m\u00f6gen die Captchas nicht. Und wenn Sie Captchas hassen, behalten Sie einen Honeypot in Ihren Formularen, der die Spambots einf\u00e4ngt.<\/p>\n<p>Meistens sind Spambots dumm, das k\u00f6nnen wir sagen, da sie einfach alle Ihre Formularfelder ausf\u00fcllen. Sie wissen nicht, welche Formularfelder tats\u00e4chlich f\u00fcr die weitere Verarbeitung verwendet werden. Wir k\u00f6nnen dieses Szenario nutzen und unserem Formular ein Dummy-Eingabefeld (Honeypot) hinzuf\u00fcgen. Dieses versteckte Feld sollte zum Zeitpunkt der Formular\u00fcbermittlung leer bleiben. Wenn also serverseitig gepr\u00fcft wird, ob dieses versteckte Feld leer ist, handelt es sich um eine g\u00fcltige Formular\u00fcbermittlung und wenn es nicht leer ist, handelt es sich um Spam. Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie einen Honeypot erstellen und Website-Formulare vor Spam sch\u00fctzen.<\/p>\n<h3>Honeypot erstellen und Formular vor Spam sch\u00fctzen<\/h3>\n<p>Wie gesagt, mit einem versteckten Feld k\u00f6nnen wir die Spambots t\u00e4uschen und die Formular\u00fcbermittlung auf der Serverseite stoppen. Zu diesem Zweck werden wir das <a href=\"https:\/\/github.com\/spatie\/laravel-honeypot\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Paket laravel-honeypot verwenden<\/a>. Mit diesem Paket kann ein Benutzer ein oder mehrere Formulare einfach sch\u00fctzen. Sie m\u00fcssen nicht f\u00fcr jedes Formular separat serverseitigen Code schreiben.<\/p>\n<p>\u00d6ffnen Sie f\u00fcr die Paketinstallation das Terminal in Ihrem Projektstammverzeichnis und f\u00fchren Sie den Befehl aus:<\/p>\n<pre><code>composer require spatie\/laravel-honeypot<\/code><\/pre>\n<p>Ver\u00f6ffentlichen Sie nach der Paketinstallation die Konfigurationsdatei des Pakets mit dem Befehl:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieHoneypotHoneypotServiceProvider\" --tag=config<\/code><\/pre>\n<p>Dieser Befehl f\u00fcgt eine <code>honeypot.php<\/code>Datei unter dem <code>config<\/code>Verzeichnis hinzu. Sie m\u00fcssen die Konfigurationsdatei nicht \u00e4ndern. F\u00fcgen Sie stattdessen in der <code>.env<\/code>Datei die unten gezeigte Konstante hinzu.<\/p>\n<pre><code>HONEYPOT_NAME=honeypot_for_bots<\/code><\/pre>\n<p>Hier haben wir den Namen &#8218;honeypot_for_bots&#8216; gegeben, der der Name Ihres versteckten Feldes ist. Sie k\u00f6nnen dieser Konstante einen beliebigen anderen Namen geben.<\/p>\n<p>Registrieren Sie als N\u00e4chstes die globale Middleware, die alle Ihre Formulare von einem einzigen Ort aus sch\u00fctzt.<\/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>Alles erledigt! Gehen Sie nun zu Ihrem Formular und f\u00fcgen Sie den Honeypot hinzu, indem Sie <code>@honeypot<\/code>das Formular HTML hinzuf\u00fcgen. Ihre Blade-Datei sieht in etwa wie folgt aus.<\/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>Wenn nun Spambots versuchen, Spam in Ihrem Formular zu versenden, wird das Paket die Anfrage verwerfen. Dadurch landet kein Spam mehr in Ihrer Datenbank.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/eine-anleitung-zum-hinzufuegen-von-google-recaptcha-v3-zu-ihrer-laravel-website\/\" title=\"Eine Anleitung zum Hinzuf\u00fcgen von Google reCAPTCHA v3 zu Ihrer Laravel-Website\">Eine Anleitung zum Hinzuf\u00fcgen von Google reCAPTCHA v3 zu Ihrer Laravel-Website<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-verwenden-sie-laravel-ereignisse-und-listener-in-ihrer-anwendung\/\" title=\"So verwenden Sie Laravel-Ereignisse und -Listener in Ihrer Anwendung\">So verwenden Sie Laravel-Ereignisse und -Listener in Ihrer Anwendung<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <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 diesem Artikel untersuchen wir, wie Sie Honeypot in Laravel hinzuf\u00fcgen und Ihr Formular vor Spam sch\u00fctzen. Honeypot ist nichts anderes als ein Dummy-Feld in der Form, die f\u00fcr<\/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":[496],"tags":[845],"class_list":["post-24319","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=24319"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24319\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21671"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}