{"id":24603,"date":"2021-05-22T11:57:00","date_gmt":"2021-05-22T08:57:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24603"},"modified":"2021-10-17T20:45:21","modified_gmt":"2021-10-17T17:45:21","slug":"vahvista-google-recaptcha-javascriptin-avulla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/vahvista-google-recaptcha-javascriptin-avulla\/","title":{"rendered":"Vahvista Google reCAPTCHA JavaScriptin avulla"},"content":{"rendered":"<p>Google reCAPTCHA on suosittu valinta verkkosivujen suojaamiseksi roskapostilta ja roboteilta. ReCAPTCHA pyyt\u00e4\u00e4 k\u00e4ytt\u00e4ji\u00e4 ratkaisemaan yksinkertaisia \u200b\u200bpulmia, jotka ovat helppoja ihmisille, mutta vaikeita botteille. T\u00e4m\u00e4n seurauksena palvelintilaa voidaan s\u00e4\u00e4st\u00e4\u00e4 lis\u00e4\u00e4m\u00e4tt\u00e4 tarpeettomia roskapostitietueita tietokantaan. Se s\u00e4\u00e4st\u00e4\u00e4 my\u00f6s aikaa, koska emme koskaan saa roskapostikommentteja postilaatikkoomme.<\/p>\n<p>Kun lis\u00e4t\u00e4\u00e4n Google reCAPTCHA verkkosivustolomakkeisiin, meid\u00e4n on kirjoitettava koodinp\u00e4tk\u00e4 reCAPTCHA: n vastauksen vahvistamiseksi. Jos vastaus on kelvollinen, vain lomakkeen tulisi jatkua.<\/p>\n<p>Vastaus voidaan vahvistaa kahdella tavalla: yksi on palvelinpuoli ja toinen asiakaspuoli. T\u00e4ss\u00e4 artikkelissa keskitymme asiakaspuolen validointiin ja tutkimme, miten Google reCAPTCHA voidaan vahvistaa JavaScriptin avulla.<\/p>\n<p>Jos etsit palvelinpuolen vahvistusta, katso artikkeli <a href=\"https:\/\/themewp.inform.click\/fi\/google-recaptcha-n-kayttaminen-verkkosivustolomakkeissasi-php-n-kanssa\/\" title=\"Google reCAPTCHA: n k\u00e4ytt\u00e4minen verkkosivustolomakkeissasi PHP: n kanssa\" >Google reCAPTCHA: n k\u00e4ytt\u00e4minen verkkosivustolomakkeissasi PHP: n kanssa<\/a>.<\/p>\n<h3>Rekister\u00f6i sivusto ja hanki API-avaimet<\/h3>\n<p>Aloittamiseksi sinun on rekister\u00f6it\u00e4v\u00e4 sivustosi t\u00e4\u00e4ll\u00e4 &#8211; <a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><a href=\"https:\/\/www.google.com\/recaptcha\/admin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/www.google.com\/recaptcha\/admin<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20518-6081fe9b2d78e.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-20518-6081fe9b2d78e.png\" alt=\"Vahvista Google reCAPTCHA JavaScriptin avulla\" ><\/a><\/p>\n<p>Valitse vaihtoehto &#8217;reCAPTCHA v2&#8217;, joka antaa &quot;En ole robotti&quot; -valintaruudun.<\/p>\n<p>Kun olet sy\u00f6tt\u00e4nyt tiedot yll\u00e4 olevaan lomakkeeseen, saat sivustoavaimesi ja salaisen avaimen. Koska kyseess\u00e4 on asiakaspuolen vahvistus, tarvitsemme vain sivustoavaimen.<\/p>\n<p>Jos haluat testata sit\u00e4 paikallisella palvelimella, lis\u00e4\u00e4 &#8217;localhost&#8217; toimialueeksi.<\/p>\n<h3>Vahvista Google reCAPTCHA JavaScriptin avulla<\/h3>\n<p>Ensin sinun on lis\u00e4tt\u00e4v\u00e4 Google reCAPTCHA lomakkeeseesi. Voit tehd\u00e4 sen k\u00e4ytt\u00e4m\u00e4ll\u00e4 alla olevaa koodia.<\/p>\n<pre><code>&lt;form method=\"post\" onsubmit=\"return submitUserForm();\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"g-recaptcha\" data-sitekey=\"YOUR_SITE_KEY\" data-callback=\"verifyCaptcha\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div id=\"g-recaptcha-error\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;\n&lt;script src='https:\/\/www.google.com\/recaptcha\/api.js'&gt;&lt;\/script&gt;<\/code><\/pre>\n<p>Yll\u00e4 olevassa koodissa k\u00e4yt\u00e4n <code>onsubmit<\/code>tapahtumaa. T\u00e4m\u00e4 johtuu siit\u00e4, ett\u00e4 kun k\u00e4ytt\u00e4j\u00e4 l\u00e4hett\u00e4\u00e4 lomakkeen, meid\u00e4n on tarkistettava reCAPTCHA-vastaus ja annettava sen sitten l\u00e4hett\u00e4\u00e4 lomake.<\/p>\n<p>Sitten lis\u00e4sin <code><\/code> verCaptcha &#8221; soittopyynn\u00f6n nimeksi attribuuttiin &#8217;data-callback&#8217;. K\u00e4yt\u00e4n t\u00e4t\u00e4 takaisinsoittomenetelm\u00e4\u00e4 virhesanoman poistamiseksi, kun vahvistus on l\u00e4p\u00e4isty. Lis\u00e4sin my\u00f6s div: n, jonka tunnus on &#8217;g-recaptcha-error&#8217;, virheilmoituksen n\u00e4ytt\u00e4miseksi.<\/p>\n<p>Sinun tulisi korvata paikkamerkki &#8217;YOUR_SITE_KEY&#8217; todellisella sivustoavaimellasi.<\/p>\n<p>Lopuksi kirjoitetaan JavaScript-koodi, joka k\u00e4sittelee reCAPTCHA-vastauksen. Ja vastauksen perusteella se n\u00e4ytt\u00e4\u00e4 joko virheilmoituksen tai antaa lomakkeen edet\u00e4.<\/p>\n<pre><code>&lt;script&gt;\nfunction submitUserForm() {\n\u00a0\u00a0\u00a0\u00a0var response = grecaptcha.getResponse();\n\u00a0\u00a0\u00a0\u00a0if(response.length == 0) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0document.getElementById('g-recaptcha-error').innerHTML = '&lt;span style=\"color:red;\"&gt;This field is required.&lt;\/span&gt;';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return false;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0return true;\n}\n\u00a0\nfunction verifyCaptcha() {\n\u00a0\u00a0\u00a0\u00a0document.getElementById('g-recaptcha-error').innerHTML = '';\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p>Menetelm\u00e4ss\u00e4 <code>submitUserForm<\/code>saamme reCAPTCHA-vastauksen k\u00e4ytt\u00e4m\u00e4ll\u00e4 <code>grecaptcha.getResponse()<\/code>. T\u00e4m\u00e4 on sis\u00e4\u00e4nrakennettu toiminto, jonka tarjoaa Google reCAPTCHA -palvelu.<\/p>\n<p>Jos vastaus on virheellinen, se palauttaa arvon 0. Se tarkoittaa, ett\u00e4 k\u00e4ytt\u00e4j\u00e4 ei ole viel\u00e4 validoinut reCAPTCHA: ta. Ja niin, se heitt\u00e4\u00e4 virheen ja liittyy div: iin, jolla on tunnus &#8217;g-recaptcha-error&#8217;.<\/p>\n<p>Kun Google reCAPTCHA l\u00e4hett\u00e4\u00e4 kelvollisen vastauksen, palautan todellisen arvon, joka sallii lomakkeen edet\u00e4.<\/p>\n<p><code>verifyCaptcha<\/code>Menetelm\u00e4 saa puhelun, kun ratkaista kaikki palapelit reCAPTCHA. Poistamme sitten virheilmoituksen, kun pulmapeli on ratkaistu.<\/p>\n<p>Viimeinen koodi on:<\/p>\n<pre><code>&lt;form method=\"post\" onsubmit=\"return submitUserForm();\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"g-recaptcha\" data-sitekey=\"YOUR_SITE_KEY\" data-callback=\"verifyCaptcha\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div id=\"g-recaptcha-error\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;\n&lt;script src='https:\/\/www.google.com\/recaptcha\/api.js'&gt;&lt;\/script&gt;\n&lt;script&gt;\nfunction submitUserForm() {\n\u00a0\u00a0\u00a0\u00a0var response = grecaptcha.getResponse();\n\u00a0\u00a0\u00a0\u00a0if(response.length == 0) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0document.getElementById('g-recaptcha-error').innerHTML = '&lt;span style=\"color:red;\"&gt;This field is required.&lt;\/span&gt;';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return false;\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0return true;\n}\n\u00a0\nfunction verifyCaptcha() {\n\u00a0\u00a0\u00a0\u00a0document.getElementById('g-recaptcha-error').innerHTML = '';\n}\n&lt;\/script&gt;<\/code><\/pre>\n<p>Toivon, ett\u00e4 ymm\u00e4rr\u00e4t, miten Google reCAPTCHA vahvistetaan JavaScriptin avulla. Kokeile sit\u00e4 projektissasi ja jaa ajatuksesi tai ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/integroi-google-invisible-recaptcha-php-hen\/\" title=\"Integroi Google Invisible reCAPTCHA PHP: hen\">Integroi Google Invisible reCAPTCHA PHP: hen<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/opas-google-recaptcha-v3-n-lisaamisesta-laravel-verkkosivustoosi\/\" title=\"Opas Google reCAPTCHA v3: n lis\u00e4\u00e4misest\u00e4 Laravel-verkkosivustoosi\">Opas Google reCAPTCHA v3: n lis\u00e4\u00e4misest\u00e4 Laravel-verkkosivustoosi<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lisataan-en-ole-robotti-captcha-laravel-formsissa\/\" title=\"Kuinka lis\u00e4t\u00e4, en ole robotti captcha Laravel-lomakkeissa\">Kuinka lis\u00e4t\u00e4, en ole robotti captcha Laravel-lomakkeissa<\/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 vahvistaa Google reCAPTCHA: n JavaScriptin avulla? T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4mme, kuinka Google reCAPTCHA -vastausta voidaan k\u00e4sitell\u00e4 tai vahvistaa JavaScriptin avulla.<\/p>\n","protected":false},"author":1,"featured_media":21785,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[247],"tags":[843],"class_list":["post-24603","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24603","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=24603"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24603\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}