{"id":24620,"date":"2021-05-22T11:32:00","date_gmt":"2021-05-22T08:32:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24620"},"modified":"2021-10-18T02:14:37","modified_gmt":"2021-10-17T23:14:37","slug":"valider-google-recaptcha-a-l-aide-de-javascript","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/valider-google-recaptcha-a-l-aide-de-javascript\/","title":{"rendered":"Valider Google reCAPTCHA \u00e0 l&rsquo;aide de JavaScript"},"content":{"rendered":"<p>Google reCAPTCHA est un choix populaire pour prot\u00e9ger les formulaires du site Web contre le spam et les robots. Le reCAPTCHA demande aux utilisateurs de r\u00e9soudre des \u00e9nigmes simples qui sont faciles pour les humains mais difficiles pour les bots. En cons\u00e9quence, on peut \u00e9conomiser de l&rsquo;espace sur le serveur en \u00e9vitant d&rsquo;ins\u00e9rer des enregistrements de spam inutiles dans la base de donn\u00e9es. Cela nous fait \u00e9galement gagner du temps car nous ne recevons jamais de commentaires de spam dans notre bo\u00eete aux lettres.<\/p>\n<p>Lorsque nous ajoutons un Google reCAPTCHA dans des formulaires de site Web, nous devons \u00e9crire un morceau de code pour valider la r\u00e9ponse de reCAPTCHA. Si une r\u00e9ponse est valide, seul notre formulaire doit continuer.<\/p>\n<p>Il existe 2 fa\u00e7ons de valider la r\u00e9ponse, l&rsquo;une c\u00f4t\u00e9 serveur et l&rsquo;autre c\u00f4t\u00e9 client. Dans cet article, nous nous concentrons sur la validation c\u00f4t\u00e9 client et nous \u00e9tudions donc comment valider Google reCAPTCHA \u00e0 l&rsquo;aide de JavaScript.<\/p>\n<p>Si vous recherchez une validation c\u00f4t\u00e9 serveur, veuillez vous reporter \u00e0 l&rsquo;article <a href=\"https:\/\/themewp.inform.click\/fr\/utilisation-de-google-recaptcha-sur-vos-formulaires-de-site-web-avec-php\/\" title=\"Utilisation de Google reCAPTCHA sur vos formulaires de site Web avec PHP\" >Utilisation de Google reCAPTCHA sur vos formulaires de site Web avec PHP<\/a>.<\/p>\n<h3>Enregistrez le site et obtenez des cl\u00e9s API<\/h3>\n<p>Pour commencer, vous devez enregistrer votre site ici &#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=\"Valider Google reCAPTCHA \u00e0 l&#039;aide de JavaScript\" ><\/a><\/p>\n<p>Choisissez l&rsquo;option &lsquo;reCAPTCHA v2&rsquo; qui donne une case \u00e0 cocher &quot;Je ne suis pas un robot&quot;.<\/p>\n<p>Une fois que vous avez entr\u00e9 les d\u00e9tails dans le formulaire ci-dessus, vous obtiendrez votre cl\u00e9 de site et votre cl\u00e9 secr\u00e8te. Comme nous traitons de la validation c\u00f4t\u00e9 client, nous n&rsquo;avons besoin que d&rsquo;une cl\u00e9 de site.<\/p>\n<p>Si vous souhaitez le tester sur un serveur local, ajoutez &quot;localhost&quot; en tant que domaine.<\/p>\n<h3>Valider Google reCAPTCHA \u00e0 l&rsquo;aide de JavaScript<\/h3>\n<p>Tout d&rsquo;abord, vous devez ajouter Google reCAPTCHA sur votre formulaire. Vous pouvez le faire en utilisant le code ci-dessous.<\/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>Dans le code ci-dessus, j&rsquo;utilise <code>onsubmit<\/code>event. En effet, lorsque l&rsquo;utilisateur soumet un formulaire, nous devons v\u00e9rifier la r\u00e9ponse reCAPTCHA, puis lui permettre de soumettre un formulaire.<\/p>\n<p>Ensuite, j&rsquo;ai ajout\u00e9 un &lsquo;verifyCaptcha&rsquo; comme nom d&rsquo;une fonction de rappel \u00e0 l&rsquo;attribut &lsquo;data-callback&rsquo;. J&rsquo;utiliserai cette m\u00e9thode de rappel pour supprimer le message d&rsquo;erreur une fois la validation pass\u00e9e. J&rsquo;ai \u00e9galement ajout\u00e9 un div avec un identifiant &lsquo;g-recaptcha-error&rsquo; pour afficher le message d&rsquo;erreur.<\/p>\n<p>Vous devez remplacer l&rsquo;espace r\u00e9serv\u00e9 \u00ab\u00a0YOUR_SITE_KEY\u00a0\u00bb par votre cl\u00e9 de site r\u00e9elle.<\/p>\n<p>Enfin, \u00e9crivons un code JavaScript qui g\u00e8re la r\u00e9ponse reCAPTCHA. Et en fonction de la r\u00e9ponse, il affiche un message d&rsquo;erreur ou permet au formulaire de continuer.<\/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>Dans la m\u00e9thode, <code>submitUserForm<\/code>nous obtenons la r\u00e9ponse reCAPTCHA en utilisant <code>grecaptcha.getResponse()<\/code>. Il s&rsquo;agit d&rsquo;une fonction int\u00e9gr\u00e9e fournie par le service Google reCAPTCHA.<\/p>\n<p>Si la r\u00e9ponse n&rsquo;est pas valide, elle renvoie 0. Cela signifie qu&rsquo;un utilisateur n&rsquo;a pas encore valid\u00e9 reCAPTCHA. Et donc, il renvoie une erreur et s&rsquo;ajoute au div qui a l&rsquo;ID &lsquo;g-recaptcha-error&rsquo;.<\/p>\n<p>Lorsque Google reCAPTCHA envoie une r\u00e9ponse valide, je renvoie une valeur vraie, ce qui permet au formulaire de continuer.<\/p>\n<p>La <code>verifyCaptcha<\/code>m\u00e9thode re\u00e7oit un appel lorsque vous r\u00e9solvez toutes les \u00e9nigmes de reCAPTCHA. Nous supprimons ensuite le message d&rsquo;erreur une fois qu&rsquo;un puzzle est r\u00e9solu.<\/p>\n<p>Notre code final est :<\/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>J&rsquo;esp\u00e8re que vous comprenez comment valider Google reCAPTCHA \u00e0 l&rsquo;aide de JavaScript. Essayez-le dans votre projet et partagez vos r\u00e9flexions ou suggestions dans la section commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/integrer-google-invisible-recaptcha-avec-php\/\" title=\"Int\u00e9grer Google Invisible reCAPTCHA avec PHP\">Int\u00e9grer Google Invisible reCAPTCHA avec PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/un-guide-sur-l-ajout-de-google-recaptcha-v3-a-votre-site-web-laravel\/\" title=\"Un guide sur l&#039;ajout de Google reCAPTCHA v3 \u00e0 votre site Web Laravel\">Un guide sur l&rsquo;ajout de Google reCAPTCHA v3 \u00e0 votre site Web Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-ajouter-je-ne-suis-pas-un-robot-captcha-dans-laravel-forms\/\" title=\"Comment ajouter Je ne suis pas un robot captcha dans Laravel Forms\">Comment ajouter Je ne suis pas un robot captcha dans Laravel Forms<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous cherchez \u00e0 valider Google reCAPTCHA \u00e0 l&rsquo;aide de JavaScript\u00a0? Dans cet article, nous vous montrons comment g\u00e9rer ou valider la r\u00e9ponse Google reCAPTCHA \u00e0 l&rsquo;aide de 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":[245],"tags":[844],"class_list":["post-24620","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24620"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24620\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21785"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}