{"id":36879,"date":"2020-05-29T23:45:00","date_gmt":"2020-05-29T23:45:00","guid":{"rendered":"https:\/\/contactform7.com\/?p=36879"},"modified":"2020-07-29T23:47:35","modified_gmt":"2020-07-29T23:47:35","slug":"sharing-recaptcha-api-keys-and-tokens","status":"publish","type":"post","link":"https:\/\/contactform7.com\/es\/2020\/05\/29\/sharing-recaptcha-api-keys-and-tokens\/","title":{"rendered":"Compartir las claves y tokens de la API de reCAPTCHA"},"content":{"rendered":"\n\n\n\n<p>Con la capacidad de integraci\u00f3n de Contact Form 7 con <a href=\"https:\/\/contactform7.com\/es\/recaptcha\/\">reCAPTCHA (v3)<\/a>, puedes proteger tus formularios de contacto de los robots de mensajes no deseados (spam). Ya que un robot de spam apunta a todo, no solo a los formularios de contacto, tambi\u00e9n puedes proteger otros componentes en tu web (como los formularios de comentarios) usando la tecnolog\u00eda reCAPTCHA.<\/p>\n\n\n\n<p>Afortunadamente, la integraci\u00f3n de Contact Form 7 con reCAPTCHA est\u00e1 dise\u00f1ada para ser abierta y accesible a otros componentes. En este fragmento de c\u00f3digo, te dir\u00e9 c\u00f3mo puedes recuperar las claves y tokens de la API de reCAPTCHA desde Contact Form 7 y reutilizar los datos dentro de tu propio plugin reCAPTCHA.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h4 class=\"wp-block-heading\">Compartir las claves de la API de reCAPTCHA<\/h4>\n\n\n\n<p>Para recuperar las claves de la API de reCAPTCHA que configuraste a trav\u00e9s de la p\u00e1gina del men\u00fa \u00abIntegraci\u00f3n\u00bb de Contact Form 7, ejecuta el c\u00f3digo PHP en tu plugin de la siguiente manera:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\n$service = WPCF7_RECAPTCHA::get_instance();\n$sitekey = $service-&gt;get_sitekey();\n$secret = $service-&gt;get_secret( $sitekey );\n<\/pre><\/div>\n\n\n<p>Nota: necesitas conocer la clave del sitio para recuperar la clave secreta, as\u00ed que primero recupere la clave del sitio.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Compartir los tokens de reCAPTCHA<\/h4>\n\n\n\n<p>La API de reCAPTCHA responde a una solicitud <a href=\"https:\/\/developers.google.com\/recaptcha\/docs\/v3#programmatically_invoke_the_challenge\">grecaptcha.execute()<\/a> con un token. Al verificar el token, se te informa sobre la probabilidad de que el acceso al sitio sea realizado por un humano o un robot de spam.<\/p>\n\n\n\n<p>Dado que esta informaci\u00f3n es global en el sitio, no solo sobre formularios de contacto, los tokens tambi\u00e9n son \u00fatiles para otros componentes del sitio.<\/p>\n\n\n\n<p>Cuando Contact Form 7 llama a <code>grecaptcha.execute()<\/code> y obtiene un token de la API, desencadena un <a href=\"https:\/\/contactform7.com\/es\/dom-events\/\">evento DOM<\/a> personalizado <code>wpcf7grecaptchaexecuted<\/code>. Puedes acceder al token a trav\u00e9s del objeto de evento con un c\u00f3digo JavaScript en la vista p\u00fablica.<\/p>\n\n\n\n<p>Por ejemplo, Contact Form 7 tambi\u00e9n usa este evento para pasar un token a un campo de formulario de la siguiente manera:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\ndocument.addEventListener( &#039;wpcf7grecaptchaexecuted&#039;, function( event ) {\n  var fields = document.querySelectorAll(\n    &quot;form.wpcf7-form input&#x5B;name=&#039;g-recaptcha-response&#039;]&quot;\n  );\n\n  for ( var i = 0; i &lt; fields.length; i++ ) {\n    var field = fields&#x5B; i ];\n    field.setAttribute( &#039;value&#039;, event.detail.token );\n  }\n} );\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Con la capacidad de integraci\u00f3n de Contact Form 7 con reCAPTCHA (v3), puedes proteger tus formularios de contacto de los robots de mensajes no deseados (spam). Ya que un robot de spam apunta a todo, no solo a los formularios de contacto, tambi\u00e9n puedes proteger otros componentes en tu web (como los formularios de comentarios) &hellip; <a href=\"https:\/\/contactform7.com\/es\/2020\/05\/29\/sharing-recaptcha-api-keys-and-tokens\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Compartir las claves y tokens de la API de reCAPTCHA<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_locale":"es_ES","_original_post":"https:\/\/contactform7.com\/?p=36155","footnotes":"","jetpack_post_was_ever_published":false},"categories":[19],"tags":[28],"class_list":["post-36879","post","type-post","status-publish","format-standard","hentry","category-cookbook","tag-recaptcha","es-ES"],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/36879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/comments?post=36879"}],"version-history":[{"count":0,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/posts\/36879\/revisions"}],"wp:attachment":[{"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/media?parent=36879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/categories?post=36879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contactform7.com\/wp-json\/wp\/v2\/tags?post=36879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}