{"id":24842,"date":"2021-05-26T09:51:00","date_gmt":"2021-05-26T06:51:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24842"},"modified":"2021-10-17T20:39:13","modified_gmt":"2021-10-17T17:39:13","slug":"kuinka-lisataan-en-ole-robotti-captcha-laravel-formsissa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-lisataan-en-ole-robotti-captcha-laravel-formsissa\/","title":{"rendered":"Kuinka lis\u00e4t\u00e4\u00e4n, en ole robotti captcha Laravel Formsissa"},"content":{"rendered":"<p>Haluatko lis\u00e4t\u00e4 Google reCAPTCHA: n Laravel-lomakkeisiin? Google reCAPTCHA auttaa suojaamaan lomakkeita botteilta, joiden seurauksena pelastamme meid\u00e4t roskapostilta. Jos et suojaa lomakkeitasi, luultavasti saat paljon roskapostia tietokantaan.<\/p>\n<p>Kirjoitushetkell\u00e4 Google tarjoaa reCAPTCHA: sta kaksi versiota &#8211; v2 ja v3. ReCAPTCHA v3 sijoittaa kuvakkeen sivuidesi oikeaan alakulmaan ja he vahvistavat pyynn\u00f6t pisteill\u00e4. Toisaalta reCAPTCHA v2 tarkistaa pyynn\u00f6t haasteen avulla. T\u00e4ss\u00e4 artikkelissa tutkimme reCAPTCHA v2: n ja vahvistamme pyynn\u00f6t &quot;En ole robotti&quot; -valintaruudulla.<\/p>\n<h3>Miksi Google reCAPTCHA tarvitaan?<\/h3>\n<p>Internet-botti on j\u00e4rjestelm\u00e4, joka suorittaa automaattisia komentosarjoja Internetiss\u00e4. He kohdistavat verkkosivustolomakkeet l\u00e4hett\u00e4m\u00e4\u00e4n roskapostia tietokantaan. Pohjimmiltaan t\u00e4m\u00e4 j\u00e4rjestelm\u00e4 toimii paljon nopeammin kuin ihmiset yksin. Haluamme aina, ett\u00e4 oikea ihminen on vuorovaikutuksessa verkkosivustollemme, ei botti.<\/p>\n<p>Lis\u00e4\u00e4m\u00e4ll\u00e4 Google reCAPTCHA -palvelun voimme suojata verkkosivustolomakettamme n\u00e4it\u00e4 Internet-botteja, niiden roskapostia ja v\u00e4\u00e4rink\u00e4yt\u00f6ksi\u00e4 vastaan. Automaattisen j\u00e4rjestelm\u00e4n on mahdotonta ratkaista reCAPTCHA: n asettamaa haastetta. Lomakettasi ei l\u00e4hetet\u00e4 ennen kuin haaste on ratkaistu. Ihminen voi helposti ratkaista n\u00e4m\u00e4 haasteet ja l\u00e4hett\u00e4\u00e4 lomakkeen.<\/p>\n<h3>M\u00e4\u00e4rit\u00e4 Google reCAPTCHA Laravel-verkkosivustollesi<\/h3>\n<p>Aloittaaksesi sinun on ensin rekister\u00f6it\u00e4v\u00e4 sivusto <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Googlessa<\/a>. Valitse vaihtoehto reCAPTCHA v2 ja &quot;En ole robotti&quot; -valintaruutu, kuten alla olevassa kuvakaappauksessa n\u00e4ytet\u00e4\u00e4n.<\/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=\"Kuinka lis\u00e4t\u00e4\u00e4n, en ole robotti captcha Laravel Formsissa\" ><\/a><\/p>\n<p>Kun rekister\u00f6it sivuston, kopioi sivuston avain ja salainen avain, joita tarvitsemme hetken kuluttua.<\/p>\n<p>Meid\u00e4n on lis\u00e4tt\u00e4v\u00e4 reCAPTCHA Laravel-projektiin. Teht\u00e4v\u00e4n suorittamiseen aion k\u00e4ytt\u00e4\u00e4 <a href=\"https:\/\/github.com\/anhskohbo\/no-captcha\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">anhskohbo \/ no-captcha-<\/a> kirjastoa.<\/p>\n<p>Avaa komentokehote projektisi juurihakemistossa ja suorita komento:<\/p>\n<pre><code>composer require anhskohbo\/no-captcha<\/code><\/pre>\n<p>Avaa tiedosto config \/ app.php ja lis\u00e4\u00e4 alla oleva rivi tarjoajien ryhm\u00e4\u00e4n.<\/p>\n<pre><code>AnhskohboNoCaptchaNoCaptchaServiceProvider::class,<\/code><\/pre>\n<p>Lis\u00e4\u00e4 luokan alias aliaksiryhm\u00e4\u00e4n:<\/p>\n<pre><code>'NoCaptcha' =&gt; AnhskohboNoCaptchaFacadesNoCaptcha::class,<\/code><\/pre>\n<p>Julkaise m\u00e4\u00e4ritystiedosto komennolla:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"AnhskohboNoCaptchaNoCaptchaServiceProvider\"<\/code><\/pre>\n<p>Seuraavaksi avaa <code>.env<\/code>tiedosto ja m\u00e4\u00e4rit\u00e4 reCAPTCHA-avaimet seuraavasti.<\/p>\n<pre><code>NOCAPTCHA_SECRET=secret-key\nNOCAPTCHA_SITEKEY=site-key<\/code><\/pre>\n<p>Muista korvata paikkamerkkien salainen avain ja sivustoavain todellisilla arvoilla.<\/p>\n<p>Tyhjenn\u00e4 m\u00e4\u00e4ritysv\u00e4limuisti suorittamalla alla oleva komento.<\/p>\n<pre><code>php artisan config:clear <\/code><\/pre>\n<h3>Google reCAPTCHA: n lis\u00e4\u00e4minen Laravelin lomakkeeseen<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa olet suorittanut reCAPTCHA: n edellytt\u00e4m\u00e4t perusasetukset. Kirjoita nyt koodi ja tee se toiminnassa.<\/p>\n<p>Avaa n\u00e4kym\u00e4tiedosto, johon haluat lis\u00e4t\u00e4 En ole robotti -valintaruutu. Alusta ter\u00e4tiedoston yl\u00e4osassa JS-l\u00e4hde seuraavasti:<\/p>\n<pre><code>{!! NoCaptcha::renderJs() !!}<\/code><\/pre>\n<p>Lis\u00e4\u00e4 alla oleva yksirivinen k\u00e4sky kohtaan, jossa haluat n\u00e4ytt\u00e4\u00e4 reCAPTCHA-valintaruudun. Paras paikka on ennen L\u00e4het\u00e4-painiketta.<\/p>\n<pre><code>{!! NoCaptcha::display() !!}<\/code><\/pre>\n<p>Luodaan esimerkkin\u00e4 lomake, jossa on v\u00e4h\u00e4n kentti\u00e4, ja lis\u00e4t\u00e4\u00e4n siihen reCAPTCHA k\u00e4ytt\u00e4m\u00e4ll\u00e4 alla olevaa koodia.<\/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>Kun olet lis\u00e4nnyt yll\u00e4 olevat rivit, n\u00e4et reCAPTCHA: n n\u00e4ytt\u00e4v\u00e4n jotain, kuten alla olevassa kuvakaappauksessa.<\/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=\"Kuinka lis\u00e4t\u00e4\u00e4n, en ole robotti captcha Laravel Formsissa\" ><\/a><\/p>\n<p>Lis\u00e4sin yll\u00e4 olevaan koodiin my\u00f6s koodin, joka n\u00e4ytt\u00e4\u00e4 virheen, jos se tapahtuu reCAPTCHA: n vahvistamisen yhteydess\u00e4.<\/p>\n<p>Nyt meid\u00e4n on vahvistettava reCAPTCHA lomakkeen l\u00e4hett\u00e4misess\u00e4. T\u00e4m\u00e4n saavuttamiseksi k\u00e4yt\u00e4n <a href=\"https:\/\/laravel.com\/docs\/master\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Validatoria<\/a> seuraavasti.<\/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>T\u00e4ss\u00e4 olen sis\u00e4llytt\u00e4nyt julkisivun &quot;Validator&quot; ja vahvistanut reCAPTCHA: n &quot;store&quot; -menetelm\u00e4\u00e4n. Jos vahvistus ep\u00e4onnistuu, se heitt\u00e4\u00e4 virheen.<\/p>\n<p>Se siit\u00e4! Olet lis\u00e4nnyt reCAPTCHA v2 -sovelluksen onnistuneesti, koska en ole robotti -valintaruutu Laravel-lomakkeeseen. Lomakettasi ei l\u00e4hetet\u00e4 ennen kuin k\u00e4vij\u00e4 on ratkaissut reCAPTCHA-haasteen.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kayttajarekisterointi-ja-kirjautumisjarjestelma-laravelissa\/\" title=\"K\u00e4ytt\u00e4j\u00e4rekister\u00f6inti- ja kirjautumisj\u00e4rjestelm\u00e4 Laravelissa\">K\u00e4ytt\u00e4j\u00e4rekister\u00f6inti- ja kirjautumisj\u00e4rjestelm\u00e4 Laravelissa<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/sosiaalinen-kirjautumisjarjestelma-laravel-socialiten-avulla\/\" title=\"Sosiaalinen kirjautumisj\u00e4rjestelm\u00e4 Laravel Socialiten avulla\">Sosiaalinen kirjautumisj\u00e4rjestelm\u00e4 Laravel Socialiten avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/authorize-net-payment-gateway-integraatio-laravelissa\/\" title=\"Authorize.Net Payment Gateway -integraatio Laravelissa\">Authorize.Net Payment Gateway -integraatio Laravelissa<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Haluatko toteuttaa, etten ole robotti-captcha Laravel-lomakkeissasi? T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4mme, kuinka voit m\u00e4\u00e4ritt\u00e4\u00e4 ja k\u00e4ytt\u00e4\u00e4 google reCaptchaa Laravelissa.<\/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":[499],"tags":[843],"class_list":["post-24842","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24842"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24842\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21671"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}