{"id":24836,"date":"2021-05-26T10:18:00","date_gmt":"2021-05-26T07:18:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24836"},"modified":"2021-10-18T02:38:53","modified_gmt":"2021-10-17T23:38:53","slug":"so-fuegen-sie-in-laravel-forms-ich-bin-kein-roboter-captcha-hinzu","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-fuegen-sie-in-laravel-forms-ich-bin-kein-roboter-captcha-hinzu\/","title":{"rendered":"So f\u00fcgen Sie in Laravel Forms &#8222;Ich bin kein Roboter-Captcha&#8220; hinzu"},"content":{"rendered":"<p>M\u00f6chten Sie Google reCAPTCHA zu Ihren Laravel-Formularen hinzuf\u00fcgen? Google reCAPTCHA tr\u00e4gt dazu bei, die Formulare vor den daraus resultierenden Bots zu sch\u00fctzen, um uns vor Spam zu bewahren. Wenn Sie Ihre Formulare nicht sch\u00fctzen, gelangen wahrscheinlich eine Menge Spams in die Datenbank.<\/p>\n<p>Zum Zeitpunkt des Schreibens bietet Google 2 Versionen von reCAPTCHA \u2013 v2 und v3. Das reCAPTCHA v3 platziert ein Symbol in der unteren rechten Ecke Ihrer Seiten und sie \u00fcberpr\u00fcfen Anfragen mit einer Punktzahl. Auf der anderen Seite \u00fcberpr\u00fcft reCAPTCHA v2 Anfragen mit einer Challenge. In diesem Artikel untersuchen wir reCAPTCHA v2 und validieren Anfragen mit dem Kontrollk\u00e4stchen &quot;Ich bin kein Roboter&quot;.<\/p>\n<h3>Warum braucht man Google reCAPTCHA?<\/h3>\n<p>Ein Internet-Bot ist ein System, das automatisierte Skripte im Internet ausf\u00fchrt. Sie zielen auf die Websiteformulare ab, um Spams in die Datenbank zu senden. Grunds\u00e4tzlich arbeitet dieses System mit einer viel h\u00f6heren Geschwindigkeit als der Mensch allein. Wir m\u00f6chten immer, dass ein echter Mensch mit unseren Website-Formularen interagiert, kein Bot.<\/p>\n<p>Durch das Hinzuf\u00fcgen von Google reCAPTCHA k\u00f6nnen wir unsere Website-Formulare vor diesen Internet-Bots, deren Spam und Missbrauch sch\u00fctzen. Es ist f\u00fcr ein automatisiertes System unm\u00f6glich, die von reCAPTCHA gestellte Herausforderung zu l\u00f6sen. Und Ihr Formular wird nicht gesendet, bis die Herausforderung gel\u00f6st ist. Ein Mensch kann diese Herausforderungen leicht l\u00f6sen und ein Formular einreichen.<\/p>\n<h3>Richten Sie Google reCAPTCHA auf Ihrer Laravel-Website ein<\/h3>\n<p>Um zu beginnen, m\u00fcssen Sie die Website zuerst bei <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Google<\/a> registrieren. W\u00e4hlen Sie die Option reCAPTCHA v2 und das Kontrollk\u00e4stchen \u201eIch bin kein Roboter&#8220;, wie im Screenshot unten gezeigt.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20464-6081f5fd17f3f.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-20464-6081f5fd17f3f.png\" alt=\"So f\u00fcgen Sie in Laravel Forms &quot;Ich bin kein Roboter-Captcha&quot; hinzu\" ><\/a><\/p>\n<p>Kopieren Sie bei der Registrierung der Site den Site-Schl\u00fcssel und den geheimen Schl\u00fcssel, die wir in K\u00fcrze ben\u00f6tigen.<\/p>\n<p>Wir m\u00fcssen reCAPTCHA im Laravel-Projekt hinzuf\u00fcgen. Um die Aufgabe zu erf\u00fcllen, werde ich die <a href=\"https:\/\/github.com\/anhskohbo\/no-captcha\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">anhskohbo\/no-captcha-<\/a> Bibliothek verwenden.<\/p>\n<p>\u00d6ffnen Sie die Eingabeaufforderung im Stammverzeichnis Ihres Projekts und f\u00fchren Sie den Befehl aus:<\/p>\n<pre><code>composer require anhskohbo\/no-captcha<\/code><\/pre>\n<p>\u00d6ffnen Sie die Datei &#8218;config\/app.php&#8216; und f\u00fcgen Sie die folgende Zeile zum Array &#8218;providers&#8216; hinzu.<\/p>\n<pre><code>AnhskohboNoCaptchaNoCaptchaServiceProvider::class,<\/code><\/pre>\n<p>F\u00fcgen Sie dem aliases-Array einen Klassenalias hinzu:<\/p>\n<pre><code>'NoCaptcha' =&gt; AnhskohboNoCaptchaFacadesNoCaptcha::class,<\/code><\/pre>\n<p>Ver\u00f6ffentlichen Sie die Konfigurationsdatei mit dem Befehl:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"AnhskohboNoCaptchaNoCaptchaServiceProvider\"<\/code><\/pre>\n<p>\u00d6ffnen Sie als N\u00e4chstes die <code>.env<\/code>Datei und geben Sie die reCAPTCHA-Schl\u00fcssel wie folgt an.<\/p>\n<pre><code>NOCAPTCHA_SECRET=secret-key\nNOCAPTCHA_SITEKEY=site-key<\/code><\/pre>\n<p>Stellen Sie sicher, dass Sie die Platzhalter secret-key, site-key durch die tats\u00e4chlichen Werte ersetzen.<\/p>\n<p>L\u00f6schen Sie den Konfigurationscache, indem Sie den folgenden Befehl ausf\u00fchren.<\/p>\n<pre><code>php artisan config:clear <\/code><\/pre>\n<h3>Hinzuf\u00fcgen von Google reCAPTCHA zum Formular in Laravel<\/h3>\n<p>In dieser Phase sind Sie mit der grundlegenden Einrichtung f\u00fcr reCAPTCHA abgeschlossen. Lassen Sie uns nun etwas Code schreiben und in Aktion setzen.<\/p>\n<p>\u00d6ffnen Sie Ihre Ansichtsdatei, in der Sie das Kontrollk\u00e4stchen Ich bin kein Roboter hinzuf\u00fcgen m\u00f6chten. Initialisieren Sie oben in der Blade-Datei die JS-Quelle wie folgt:<\/p>\n<pre><code>{!! NoCaptcha::renderJs() !!}<\/code><\/pre>\n<p>F\u00fcgen Sie die folgende einzeilige Anweisung an der Stelle hinzu, an der Sie das reCAPTCHA-Kontrollk\u00e4stchen anzeigen m\u00f6chten. Der beste Platz ist vor dem Absenden-Button.<\/p>\n<pre><code>{!! NoCaptcha::display() !!}<\/code><\/pre>\n<p>Lassen Sie uns als Beispiel ein Formular mit wenigen Feldern erstellen und mit dem folgenden Code reCAPTCHA hinzuf\u00fcgen.<\/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>Nachdem Sie die obigen Zeilen hinzugef\u00fcgt haben, wird reCAPTCHA in etwa wie im folgenden Screenshot angezeigt angezeigt.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20464-6081f5fd17f3f.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-20464-6081f5fd17f3f.png\" alt=\"So f\u00fcgen Sie in Laravel Forms &quot;Ich bin kein Roboter-Captcha&quot; hinzu\" ><\/a><\/p>\n<p>Im obigen Code habe ich auch einen Code hinzugef\u00fcgt, der einen Fehler anzeigt, wenn er bei der Validierung eines reCAPTCHA auftritt.<\/p>\n<p>Jetzt m\u00fcssen wir das reCAPTCHA beim Senden des Formulars validieren. Um dies zu erreichen, werde ich den <a href=\"https:\/\/laravel.com\/docs\/master\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Validator<\/a> wie folgt verwenden.<\/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>Hier habe ich den Fassaden-&#8218;Validator&#8216; und die Validierung eines reCAPTCHA in die &#8218;Store&#8216;-Methode eingebunden. Wenn die Validierung fehlschl\u00e4gt, wird ein Fehler ausgegeben.<\/p>\n<p>Das ist es! Sie haben reCAPTCHA v2 mit dem Kontrollk\u00e4stchen Ich bin kein Roboter erfolgreich zum Laravel-Formular hinzugef\u00fcgt. Jetzt wird Ihr Formular nicht gesendet, bis der Besucher die reCAPTCHA-Herausforderung gel\u00f6st hat.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/benutzerregistrierung-und-login-system-in-laravel\/\" title=\"Benutzerregistrierung und Login-System in Laravel\">Benutzerregistrierung und Login-System in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/social-login-system-mit-laravel-socialite\/\" title=\"Social Login-System mit Laravel Socialite\">Social Login-System mit Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/authorize-net-payment-gateway-integration-in-laravel\/\" title=\"Authorize.Net Payment Gateway-Integration in Laravel\">Authorize.Net Payment Gateway-Integration in Laravel<\/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>M\u00f6chten Sie Ich bin kein Roboter-Captcha in Ihren Laravel-Formularen implementieren? In diesem Artikel zeigen wir Ihnen, wie Sie das google reCaptcha in Laravel einrichten und verwenden.<\/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-24836","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\/24836","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=24836"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24836\/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=24836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}