{"id":28650,"date":"2021-05-26T10:16:00","date_gmt":"2021-05-26T07:16:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28650"},"modified":"2021-10-17T04:38:01","modified_gmt":"2021-10-17T01:38:01","slug":"hur-man-lagger-till-jag-ar-inte-en-robot-captcha-i-laravel-forms","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/hur-man-lagger-till-jag-ar-inte-en-robot-captcha-i-laravel-forms\/","title":{"rendered":"Hur man l\u00e4gger till Jag \u00e4r inte en robot captcha i Laravel Forms"},"content":{"rendered":"<p>Vill du l\u00e4gga till Google reCAPTCHA i dina Laravel-formul\u00e4r? Google reCAPTCHA hj\u00e4lper till att skydda formul\u00e4ret mot bots som leder till att vi sparar fr\u00e5n skr\u00e4ppost. Om du inte skyddar dina formul\u00e4r f\u00e5r du f\u00f6rmodligen massor av skr\u00e4ppost i databasen.<\/p>\n<p>I skrivande stund tillhandah\u00e5ller Google tv\u00e5 versioner av reCAPTCHA &#8211; v2 och v3. ReCAPTCHA v3 placerar en ikon l\u00e4ngst ner till h\u00f6ger p\u00e5 dina sidor och de verifierar f\u00f6rfr\u00e5gningar med po\u00e4ng. \u00c5 andra sidan verifierar reCAPTCHA v2 f\u00f6rfr\u00e5gningar med en utmaning. I den h\u00e4r artikeln studerar vi reCAPTCHA v2 och vi validerar f\u00f6rfr\u00e5gningar med kryssrutan &quot;Jag \u00e4r inte en robot&quot;.<\/p>\n<h3>Varf\u00f6r beh\u00f6ver Google reCAPTCHA?<\/h3>\n<p>En Internet-bot \u00e4r ett system som k\u00f6r automatiserade skript p\u00e5 Internet. De riktar sig mot webbplatsformul\u00e4ret f\u00f6r att skicka skr\u00e4ppost till databasen. I grund och botten fungerar detta system i mycket h\u00f6gre takt \u00e4n bara m\u00e4nniskor. Vi vill alltid att en riktig m\u00e4nniska ska interagera med v\u00e5ra webbplatsformul\u00e4r, inte en bot.<\/p>\n<p>Genom att l\u00e4gga till Google reCAPTCHA kan vi skydda v\u00e5ra webbplatsformul\u00e4r mot dessa internetbots, deras skr\u00e4ppost och missbruk. Det \u00e4r om\u00f6jligt f\u00f6r ett automatiserat system att l\u00f6sa den utmaning som reCAPTCHA st\u00e4ller. Och ditt formul\u00e4r skickas inte f\u00f6rr\u00e4n utmaningen har l\u00f6sts. En m\u00e4nniska kan enkelt l\u00f6sa dessa utmaningar och skicka in ett formul\u00e4r.<\/p>\n<h3>St\u00e4ll in Google reCAPTCHA p\u00e5 din Laravel-webbplats<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng m\u00e5ste du f\u00f6rst registrera webbplatsen p\u00e5 <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Google<\/a>. V\u00e4lj alternativet reCAPTCHA v2 och &quot;Jag \u00e4r inte en robot&quot; kryssrutan som visas p\u00e5 sk\u00e4rmbilden nedan.<\/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=\"Hur man l\u00e4gger till Jag \u00e4r inte en robot captcha i Laravel Forms\" ><\/a><\/p>\n<p>N\u00e4r du registrerar webbplatsen kopierar du nyckeln och den hemliga nyckeln som vi beh\u00f6ver omedelbart.<\/p>\n<p>Vi m\u00e5ste l\u00e4gga till reCAPTCHA i Laravel-projektet. F\u00f6r att utf\u00f6ra uppgiften ska jag anv\u00e4nda <a href=\"https:\/\/github.com\/anhskohbo\/no-captcha\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioteket anhskohbo \/ no-captcha<\/a>.<\/p>\n<p>\u00d6ppna kommandotolken i projektets rotkatalog och k\u00f6r kommandot:<\/p>\n<pre><code>composer require anhskohbo\/no-captcha<\/code><\/pre>\n<p>\u00d6ppna filen &#8217;config \/ app.php&#8217; och l\u00e4gg till raden nedan i &#8217;leverant\u00f6rerna&#8217;.<\/p>\n<pre><code>AnhskohboNoCaptchaNoCaptchaServiceProvider::class,<\/code><\/pre>\n<p>L\u00e4gg till klassalias i aliasarrayen:<\/p>\n<pre><code>'NoCaptcha' =&gt; AnhskohboNoCaptchaFacadesNoCaptcha::class,<\/code><\/pre>\n<p>Publicera konfigurationsfilen med kommandot:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"AnhskohboNoCaptchaNoCaptchaServiceProvider\"<\/code><\/pre>\n<p>D\u00e4refter \u00f6ppnar <code>.env<\/code>filen och ange reCAPTCHA knapparna p\u00e5 f\u00f6ljande s\u00e4tt.<\/p>\n<pre><code>NOCAPTCHA_SECRET=secret-key\nNOCAPTCHA_SITEKEY=site-key<\/code><\/pre>\n<p>Se till att ers\u00e4tta platsh\u00e5llarnas hemliga nyckel, platsnyckel med de faktiska v\u00e4rdena.<\/p>\n<p>Rensa konfigurationscachen genom att k\u00f6ra kommandot nedan.<\/p>\n<pre><code>php artisan config:clear <\/code><\/pre>\n<h3>L\u00e4gga till Google reCAPTCHA i formul\u00e4ret i Laravel<\/h3>\n<p>I detta skede \u00e4r du klar med den grundl\u00e4ggande installation som kr\u00e4vs f\u00f6r reCAPTCHA. L\u00e5t oss nu skriva lite kod och g\u00f6ra den i aktion.<\/p>\n<p>\u00d6ppna din vyfil d\u00e4r du vill l\u00e4gga till Jag \u00e4r inte en robot kryssruta. Initiera JS-k\u00e4llan p\u00e5 toppen av bladfilen enligt f\u00f6ljande:<\/p>\n<pre><code>{!! NoCaptcha::renderJs() !!}<\/code><\/pre>\n<p>L\u00e4gg till uttalandet nedan f\u00f6r en rad p\u00e5 den plats d\u00e4r du vill visa kryssrutan reCAPTCHA. Det b\u00e4sta st\u00e4llet \u00e4r f\u00f6re skicka-knappen.<\/p>\n<pre><code>{!! NoCaptcha::display() !!}<\/code><\/pre>\n<p>Som ett exempel, l\u00e5t oss skapa ett formul\u00e4r med f\u00e5 f\u00e4lt och l\u00e4gga till reCAPTCHA till det med koden nedan.<\/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>N\u00e4r du har lagt till ovanst\u00e5ende rader ser du att reCAPTCHA visas ungef\u00e4r som visas i sk\u00e4rmdumpen nedan.<\/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=\"Hur man l\u00e4gger till Jag \u00e4r inte en robot captcha i Laravel Forms\" ><\/a><\/p>\n<p>I ovanst\u00e5ende kod lade jag ocks\u00e5 till en kod som visar ett fel om det uppst\u00e5r vid validering av en reCAPTCHA.<\/p>\n<p>Nu m\u00e5ste vi validera reCAPTCHA vid inl\u00e4mning av formul\u00e4r. F\u00f6r att uppn\u00e5 detta kommer jag att anv\u00e4nda <a href=\"https:\/\/laravel.com\/docs\/master\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Validator<\/a> enligt f\u00f6ljande.<\/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>H\u00e4r har jag inkluderat fasaden &quot;Validator&quot; och validerat en reCAPTCHA i &quot;store&quot; -metoden. Om den inte valideras kommer det att orsaka ett fel.<\/p>\n<p>Det \u00e4r allt! Du har framg\u00e5ngsrikt lagt till reCAPTCHA v2 med kryssrutan Jag \u00e4r inte en robot i Laravel-formul\u00e4ret. Nu skickas ditt formul\u00e4r inte f\u00f6rr\u00e4n bes\u00f6karen l\u00f6ser reCAPTCHA-utmaningen.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/anvandarregistrering-och-inloggningssystem-i-laravel\/\" title=\"Anv\u00e4ndarregistrering och inloggningssystem i Laravel\">Anv\u00e4ndarregistrering och inloggningssystem i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/socialt-inloggningssystem-med-laravel-socialite\/\" title=\"Socialt inloggningssystem med Laravel Socialite\">Socialt inloggningssystem med Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/authorize-net-payment-gateway-integration-i-laravel\/\" title=\"Authorize.Net Payment Gateway Integration i Laravel\">Authorize.Net Payment Gateway Integration i Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du implementera I&#8217;m not a robot captcha i dina Laravel Forms? I den h\u00e4r artikeln visar vi dig hur du konfigurerar och anv\u00e4nder google reCaptcha i 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":[503],"tags":[850],"class_list":["post-28650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28650"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28650\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21671"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}