Avisos
Vaciar todo

[Resuelto] Error reCaptcha v3 - Contact Form 7 plugin  

Página 1 / 3
 
Arnau
 Arnau
Usuario eminente

Buenos días, 

Tengo activado reCaptcha v3 en el plugin de Contact Form 7. Al intentar enviar el formulario de contacto, entiende que todos los mensajes son spam. Tras instalar Flamingo, otro plugin, puedo ver qué error es el que aparece cuando alguien intenta enviar el formulario. Tras investigar y a través de las páginas oficiales de Contact Form, parece ser que es un problema común ya que lo tienen en sus FAQ's. A pesar de esto, no veo la manera de cómo arreglarlo:

https://contactform7.com/faq-about-recaptcha-v3/

Como véis, el error que aparece es " Registro de spam: reCAPTCHA response token is empty." Puede que esté relacionado, tal y como indican en el foro de Contact Form, en que no se está cargando el script file de reCaptcha. 

Habéis visto este problema anteriormente o podríais indicarme cómo solucionarlo?

 

Gracias de antemano!
Arnau Jordà.

Contenido solo visible a usuarios registrados

Respondido : 26/10/2021 11:21 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Arnau,

De que forma estas integrando el recaptcha a contact form? con su opción por defecto que encuentras en Contacto > Integración > recaptcha?, si lo estas haciendo aqui verifica el utilizar recaptcha v2 en lugar de v3 usualmente la v3 da problemas de configuración como el que estás presentando. 

Verifica con esto y nos comentas.

Un saludo 🖐️ 

Respondido : 26/10/2021 11:29 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Arnau
 Arnau
Usuario eminente

Hola @argenis, gracias por tu rápida respuesta. 

Exacto, lo tengo integrado tal y cómo has indicado. Acabo de hacer lo que me comentas, cambiar de v3 a v2 con "tickbox" y sigue mostrándome el mismo error. En la consola de mi página web utilizando el navegador Google Chrome me muestra lo siguiente:

image

 

Gracias!

Respondido : 26/10/2021 11:59 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Anaru,

Ten en cuenta el que este cambio hace falta que generes un nuevo código de integración de recaptcha es decir verifica creando uno nuevo (v2) y configura este, si ya estas haciendo esto entonces verifica como estas agregando el formulario ya que veo en el código del sitio que estas agregando este shortcode:

[ct_contact_form id=»94″ form_style=»line-light»]

cuando los shortcode por defecto de contact form son estos:

[contact-form-7 id="xxxx" title="Nombre del formulario"]

Ten en cuenta que si utilizas otro tipo de formulario por ejemplo uno que venga con el tema este recaptca que ingresas en la configuración del contact form 7 no se aplicara a todos los formularios en general, únicamente a los que utilices con contact form.

Un saludo 🖐️ 

Respondido : 27/10/2021 12:26 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Arnau
 Arnau
Usuario eminente

Hola, @argenis

Sí, generé un nuevo par de claves de reCaptcha y las actualizé en la integración de Contact Form 7. 

Por otro lado, lo que comentas del ID, supongo que es diferente porque lo añado a través de un plugin de creación de contenido como es WP Bakery Page Builder. No tengo otros plugins de formularios de contacto, así que los que se muestran en la web son los de Contact Form 7. 

- He intentado añadir esto antes del </header> para cargar el script de recaptcha pero tampoco funciona:
<script src=”google.com/recaptcha/api.js” async defer></script>

- He hecho roll back hasta la versión 5.1 de ContactForm 7 para ver si se arreglaba, pero tampoco ha funcionado. 

 

Gracias,
Arnau Jordà.

Respondido : 27/10/2021 12:34 am
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Arnau,

Elimina el shortcode que te genera el WP Bakery Page Builder y agrega el que te genera el formulario de contacto como tal para evitar primero malas configuraciones por parte del constructor.

Verifica seguir esta guia:

https://www.webempresa.com/blog/captcha-invisible-contact-form-7-wordpress.html

Al final del todo tienes un video para hacerlo mas rapido, igualmente te comento lo de utilizar el shortcode base de contact form ya que normalmente cuando insertas la v2 de google debes si o si agregar en el final de tu código de contact form antes del submit este shortcode:

[recaptcha]

Como ultimo antes de pasar a otro paso puedes ver este complemento y verificar instalarlo:

https://wordpress.org/plugins/wpcf7-recaptcha/

igualmente te comparto este otro:

https://es.wordpress.org/plugins/contact-form-7-simple-recaptcha/

También existe una alternativa por ejemplo:

https://es.wordpress.org/plugins/contact-form-7-honeypot/

Verifica en el orden que te comparto las cosas para ir descartando uno a uno esperamos mas noticias sobre el tema.

Un saludo 🖐️ 

Respondido : 27/10/2021 12:54 am

Cursos Gratuitos WordPress

Arnau
 Arnau
Usuario eminente

Muchas gracias, @argenis!

Tras hacer otro roll back a una versión anterior (la 5.05), creo que ahora funciona. Pero creo que como Webempresa me desactivó la funcionalidad de PHP, ahora el mensaje que muestra en la web como "error" para el usuario es el mensaje predeterminado de Contact Form de "Ha fallado el envío del mensaje del remitente". Pero en Flamingo, todas las pruebas que estoy haciendo (que antes me iban a spam) ahora me van a "no spam", con lo que entiendo que si reactivamos las funcionalidades PHP podría funcionar?

Si tu respuesta es negativa a mi comentario anterior, iré probando uno a uno todos tus pasos.

Gracias!

Respondido : 27/10/2021 12:58 am
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Arnau,

Lo mejor seria verificar primero los pasos que te comparto ya que siempre es mejor tener la versión mas reciente del complemento sobretodo a nivel de ataques, a veces los códigos cambian por vulnerabilidades no necesariamente para agregar alguna funcionabilidad.

Si comentas que tienes la versión de mail deshabilitada (php) tendrias que enviar un ticket para que se te active directamente desde hosting, aqui en foro no tenemos acceso a tu hosting.

Un saludo 🖐️ 

Respondido : 27/10/2021 1:06 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Arnau
 Arnau
Usuario eminente

Hola de nuevo, @argenis

Tras mucho tiempo, logré activar mi v3 de reCaptcha con Contact Forms 7. Aparecía el badge de v3 en todas las páginas. Me reactivaron el php de email e hice pruebas y todo funcionó bien

Pero hoy, me he despertado y ya no funciona de nuevo. Vuelve a no aparecer el badge y el error de antes creo. Por favor, podrías indicarme como puedo resolverlo? Ahora el mensaje que aparece en la consola es:

Uncaught ReferenceError: grecaptcha is not defined at HTMLDocument

 

Ayer cuándo estaba funcionando fue porque añadí el siguiente parámetro justo después de <header> en mi header.php

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

 

Gracias,
Arnau.

Respondido : 29/10/2021 10:29 am
Arnau
 Arnau
Usuario eminente

Añado un par de datos más:

- Cuando veo mi web desde el dashboard de wordpress, puedo ver el reCaptcha badge sin problema.

- Cuando desactivo el plugin WPRocket, el recaptcha se ve sin problema cuando visito la web desde una pestaña de incógnito por lo que entiendo que tendré que hacer algún ajuste en este plugin para que reCpatcha funcione.

 

Espero que alguien por aquí me pueda ayudar a identificarlo! 🙂

 

Gracias!
Arnau Jordà

Esta publicación ha sido modificada el hace 2 años por Arnau
Respondido : 29/10/2021 11:18 am

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Arnau.

Prueba a eliminar la cache de WP Rocket y revisa si se muestra.

otra cosa que puedes hacer es excluir las paginas donde tienes el formulario de ser Cacheadas por el plugin:

-> https://docs.wp-rocket.me/article/54-exclude-pages-from-the-cache

-> https://docs.wp-rocket.me/article/1552-captcha-is-not-working

 

Un saludo

 

Respondido : 29/10/2021 12:34 pm
Arnau
 Arnau
Usuario eminente

Hola Pepe, 

Gracias por tu rápida respuesta. Lamentablemente, tras aplicar tus soluciones el problema sin resolverse.

Ya había borrado la caché, lo estoy haciendo siempre que hago cualquier cambio. 

En segundo lugar, tu primer enlace comenta no cachear la página donde tenga un formulario. Tengo formulario en todas las páginas casi, por lo que no me sirve como solución porque al final no tendría cacheada mi web.

El otro enlace comenta que o bien utilice reCaptcha (es el que estoy utilizando) o bien excluya que se cachee una página en concreto (la misma solución que el otro link).

A pesar de que haya excluído que se cachee una página en concreto la de /hablamos/ por ejemplo, tampoco funciona. 

 

Gracias,
Arnau Jordà

Respondido : 29/10/2021 12:46 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Arnau.

Prueba a excluir el archivo de recaptcha de Contac form en el plugin de WP Rocket.

.- Accede Ajustes -> WP Rocket -> Optimizar archivos.

.- En el bloque " Archivos JavaScript " en las opciones de excluir archivos añade lo siguiente:

wp-content/plugins/contact-form-7/modules/recaptcha/(.*).js

 

.- vacía la cache y revisa sí se muestra.

 

Si sigues con el problema, desactiva la opción de Carga diferida de archivos java.

 

Un saludo

 

 

 

Respondido : 29/10/2021 2:16 pm
Arnau
 Arnau
Usuario eminente

Hola, @pepesoler.

He intentado las dos soluciones propuestas y ninguna de las dos me ha funcionado (borrando caché a cada paso que hacía). Desactivar tanto la carga diferida como incluso la de minificar los javascript no funciona. Añadiendo esto en los dos campos de texto de las dos funcionalidades anteriores tampoco y tampoco añadiendo un "/" delante. 

/wp-content/plugins/contact-form-7/modules/recaptcha/(.*).js

Desactiar la carga diferida o la minificación, aunque me funcionara, no lo veo factible porque seguramente incrementaría el tiempo de carga de mi web, no?
Lo mismo pasaría desactivando el plugin, que por ahora creo es la única solución pero tampoco lo veo buena opción porque es un plugin esencial para mejorar el tiempo de carga.

Gracias,
Arnau Jordà.
Respondido : 29/10/2021 11:33 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Arneu,

En este caso lo mejor sería contactar a soporte de wprocket ya que en las documentaciones oficiales se muestran son estas pautas que te compartió pepe, es posible que ellos directamente tengan la solución ya que al ser un complemento de pago no podemos realizar pruebas locales de ambos complementos igualmente verifica el desactivar todo tipo de compresión por parte de wp rocket mientras conversas con ellos.

Un saludo 🖐️ 

Respondido : 29/10/2021 11:48 pm
Página 1 / 3