{"id":28367,"date":"2021-05-22T12:05:00","date_gmt":"2021-05-22T09:05:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28367"},"modified":"2021-10-17T04:44:27","modified_gmt":"2021-10-17T01:44:27","slug":"validera-google-recaptcha-med-javascript","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/validera-google-recaptcha-med-javascript\/","title":{"rendered":"Validera Google reCAPTCHA med JavaScript"},"content":{"rendered":"<p>Google reCAPTCHA \u00e4r ett popul\u00e4rt val f\u00f6r att skydda webbplatsformul\u00e4ren mot skr\u00e4ppost och bots. ReCAPTCHA ber anv\u00e4ndarna att l\u00f6sa enkla pussel som \u00e4r l\u00e4tta f\u00f6r m\u00e4nniskor men sv\u00e5ra f\u00f6r bots. Som ett resultat kan man spara sitt serverutrymme fr\u00e5n att infoga on\u00f6diga skr\u00e4ppostposter i databasen. Det sparar ocks\u00e5 tid eftersom vi aldrig f\u00e5r skr\u00e4ppostkommentarer i v\u00e5r brevl\u00e5da.<\/p>\n<p>N\u00e4r vi l\u00e4gger till en Google reCAPTCHA i webbplatsformul\u00e4r m\u00e5ste vi skriva en kod f\u00f6r att validera svaret fr\u00e5n reCAPTCHA. Om ett svar \u00e4r giltigt ska endast v\u00e5rt formul\u00e4r forts\u00e4tta.<\/p>\n<p>Det finns tv\u00e5 s\u00e4tt att validera svaret, det ena \u00e4r serversidan och det andra \u00e4r klientsidan. I den h\u00e4r artikeln fokuserar vi p\u00e5 validering p\u00e5 klientsidan och d\u00e4rf\u00f6r studerar vi hur man validerar Google reCAPTCHA med JavaScript.<\/p>\n<p>Om du letar efter validering p\u00e5 serversidan, se artikeln <a href=\"https:\/\/themewp.inform.click\/sv\/anvanda-google-recaptcha-pa-din-webbplats-formular-med-php\/\" title=\"Anv\u00e4nda Google reCAPTCHA p\u00e5 din webbplats med PHP\" >Anv\u00e4nda Google reCAPTCHA p\u00e5 din webbplats med PHP<\/a>.<\/p>\n<h3>Registrera webbplatsen och f\u00e5 API-nycklar<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng m\u00e5ste du registrera din webbplats h\u00e4r &#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=\"Validera Google reCAPTCHA med JavaScript\" ><\/a><\/p>\n<p>V\u00e4lj alternativet &quot;reCAPTCHA v2&quot; som ger kryssrutan &quot;Jag \u00e4r inte en robot&quot;.<\/p>\n<p>N\u00e4r du har angett information i ovanst\u00e5ende formul\u00e4r f\u00e5r du din webbplatsnyckel och hemliga nyckel. Eftersom vi har att g\u00f6ra med valideringen p\u00e5 klientsidan beh\u00f6ver vi bara en webbplatsnyckel.<\/p>\n<p>Om du vill testa det p\u00e5 en lokal server l\u00e4gger du till &#8217;localhost&#8217; som en dom\u00e4n.<\/p>\n<h3>Validera Google reCAPTCHA med JavaScript<\/h3>\n<p>F\u00f6rst m\u00e5ste du l\u00e4gga till Google reCAPTCHA i ditt formul\u00e4r. Du kan g\u00f6ra det med koden nedan.<\/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>I ovanst\u00e5ende kod anv\u00e4nder jag <code>onsubmit<\/code>h\u00e4ndelse. Detta beror p\u00e5 att n\u00e4r anv\u00e4ndaren skickar in ett formul\u00e4r m\u00e5ste vi kontrollera reCAPTCHA-svaret och sedan l\u00e5ta det skicka ett formul\u00e4r.<\/p>\n<p>Sedan lade jag till en &#8217;verifieraCaptcha&#8217; som ett namn p\u00e5 en \u00e5teruppringningsfunktion i attributet &#8217;data-callback&#8217;. Jag kommer att anv\u00e4nda denna \u00e5teruppringningsmetod f\u00f6r att ta bort felmeddelandet n\u00e4r valideringen \u00e4r klar. Jag lade ocks\u00e5 till en div med ett id &#8217;g-recaptcha-error&#8217; f\u00f6r att visa felmeddelandet.<\/p>\n<p>Du b\u00f6r ers\u00e4tta platsh\u00e5llaren &#8217;YOUR_SITE_KEY&#8217; med din faktiska webbplatsnyckel.<\/p>\n<p>Slutligen, l\u00e5t oss skriva en JavaScript-kod som hanterar reCAPTCHA-svaret. Och baserat p\u00e5 svaret visar det antingen ett felmeddelande eller l\u00e5ter formul\u00e4ret forts\u00e4tta.<\/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>I metoden f\u00e5r <code>submitUserForm<\/code>vi reCAPTCHA-svaret med <code>grecaptcha.getResponse()<\/code>. Detta \u00e4r en inbyggd funktion som tillhandah\u00e5lls av Googles reCAPTCHA-tj\u00e4nst.<\/p>\n<p>Om svaret \u00e4r ogiltigt returnerar det 0. Det betyder att en anv\u00e4ndare \u00e4nnu inte har validerat reCAPTCHA. Och s\u00e5, det kastar ett fel och l\u00e4gger till div som har id &#8217;g-recaptcha-error&#8217;.<\/p>\n<p>N\u00e4r Google reCAPTCHA skickar ett giltigt svar returnerar jag ett sant v\u00e4rde, vilket g\u00f6r att formul\u00e4ret kan forts\u00e4tta vidare.<\/p>\n<p>Den <code>verifyCaptcha<\/code>metoden f\u00e5r ett samtal n\u00e4r du l\u00f6sa alla pussel av reCAPTCHA. Vi tar sedan bort felmeddelandet n\u00e4r ett pussel \u00e4r l\u00f6st.<\/p>\n<p>V\u00e5r sista kod \u00e4r:<\/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>Jag hoppas att du f\u00f6rst\u00e5r hur du validerar Google reCAPTCHA med JavaScript. Prova det i ditt projekt och dela dina tankar eller f\u00f6rslag i kommentarf\u00e4ltet nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/integrera-google-invisible-recaptcha-med-php\/\" title=\"Integrera Google Invisible reCAPTCHA med PHP\">Integrera Google Invisible reCAPTCHA med PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/en-guide-om-hur-du-lagger-till-google-recaptcha-v3-till-din-laravel-webbplats\/\" title=\"En guide om hur du l\u00e4gger till Google reCAPTCHA v3 till din Laravel-webbplats\">En guide om hur du l\u00e4gger till Google reCAPTCHA v3 till din Laravel-webbplats<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-lagger-till-jag-ar-inte-en-robot-captcha-i-laravel-forms\/\" title=\"Hur man l\u00e4gger till Jag \u00e4r inte en robot captcha i Laravel Forms\">Hur man l\u00e4gger till Jag \u00e4r inte en robot captcha i Laravel Forms<\/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 validera Google reCAPTCHA med JavaScript? I den h\u00e4r artikeln visar vi hur man kan hantera eller validera Googles reCAPTCHA-svar med JavaScript.<\/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":[251],"tags":[850],"class_list":["post-28367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28367","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=28367"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28367\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}