¿Se están colando rusos o chinos por el formulario de contacto en Prestashop?

Según información proveniente del foro de Prestashop, les seguía pasando incluso después de haber instalado el Capcha de Google en la tienda.

Según nos comenta el usuario FCapdevila de la comunidad de Prestashop, el problema es que su versión de Prestashop no estaba actualizada, por lo tanto ha tenido que aplicar el siguiente parche:

* Estas modificaciones ya van incluidas a partir de Prestashop 1.6.1.17

Toda la información en el siguiente enlace:

https://github.com/PrestaShop/PrestaShop/pull/8168/files

Editas los fichero:

/controllers/front/ContactController.php
/themes/TuPlantilla/contact-form.tpl

Y realizar la siguientes modificaciones (clic para ampliar imágenes).

Cuando se indica “+” significa añadir línea y cuando se indica “” significa quitar línea.

Fichero: /controllers/front/ContactController.php

ContactController.php

Fichero: /themes/TuPlantilla/contact-form.tpl

contact-form.tpl

No se os olvide limpiar la caché de Prestashop en la pestaña Parámetros Avanzados -> Rendimiento

Seguiremos informando de más novedades sobre este aspecto …

Añado: Recomendable cambiar también los emails destinatarios del formulario de contacto -> Administrar destinatarios del formulario de contacto

Añado 2: Esto no quita que no tengas que añadir el captcha de Google a tu tienda: Revisar enlace

* Actualización del artículo:

Añado 3: 
Según ha informado Prestashop:
http://build.prestashop.com/news/fighting-against-spamming/

    • Para Prestashop 1.7 las tiendas recibirán en breve una actualización del módulo correspondiente al formulario de contacto correspondiente a lo comentado en esta entrada respecto a la 1.6. Recordar que en Prestashop 1.7 el formulario de contacto es un módulo, por lo tanto, solo será necesario actualizar el módulo desde el panel de administración.
    • Por otro lado, se recomienda desinstalar el módulo “Enviar a un amigo / Send to a Friend” de Prestashop.
    • Además, para PS 1.6 (independientemente del parche comentado en el post actual que debe ser añadido si usáis Prestashop 1.6 con una versión inferior a Prestashop 1.6.1.17) se espera en la 1.6.1.19 una actualización para que Prestashop no envíe el mensaje de confirmación del envío del formulario de contacto al email ingresado en el mismo.

Captcha para Prestashop 1.7

Módulo gratuito que permite añadir un captcha en la tienda para evitar el spam en los formularios de la tienda como, por ejemplo, el formulario de contacto.

A inicios del año 2013 habíamos reseñado un módulo que integraba una especie de captcha en Prestashop para poder mostrarlo en los distintos formularios de la tienda.

En esta ocasión, vamos hablar de otro clásico y de nuevo del compañero francés  Hernes del que ya hemos comentado en antaño varios aportes interesantes.

Captcha formulario de contacto
Captcha en el formulario de registro de Prestashop 1.7

Aunque existen versiones del módulo para versiones anteriores de Prestashop, en la actualidad también tenemos disponible una versión actualizada del módulo para mostrar el reCAPTCHA de Google en el formulario de contacto y de registro en Prestashop 1.7.  Al final de la entrada dejare el enlace para descargarlo desde el repositorio.

Una vez, hemos subido e instalado el módulo desde la pestaña módulos -> módulos y servicios (guía de instalación de módulos) del panel de administración y accedemos a su configuración, debemos añadir y configurar los datos de la API correspondientes al reCaptcha de Google.

Datos captcha
  • Para obtener los datos “Captcha public key (Site Key)” y “Captcha private key (Secret key)” debemos tener añadido nuestra web en: https://www.google.com/recaptcha/intro/index.htmlAccedemos al enlace que he pasado y añadimos nuestra tienda, tal como podéis ver en las siguientes capturas:
    Pulsamos getRecaptcha

    Obtener captcha

    Rellenamos formulario:

Creando Captcha
  • Etiqueta -> Etiqueta a modo informativo.
  • Choose the type Captcha -> Nosotros hemos elegido reCaptcha v2
  • Dominios -> Añadimos el dominio de nuestra tienda.

Una vez registrado el captcha, podremos obtener la clave del sitio (Site Key) y la clave Secreta (Secret Key) para pegarla posteriormente en la configuración del módulo.

Clave del sitio y clave secreta
  • Otras opciones de configuración que nos ofrece el módulo son las siguientes:
    Activar/Desactivar captcha

    Enable Captcha for contact form -> Para activar/desactivar el captcha en el formulario de contacto.
    Enable Captcha for account creation -> Para activar/desactivar el captcha en el formulario de registro.

Por si tenéis curiosidad el módulo lleva los siguientes overrides:

Controlador -> AuthController.php para añadir el catpcha en el formulario de registro.

Clase del módulo de formulario de contacto -> contactform.php -> Para añadir el captcha al formulario de contacto.

¿Dónde podemos descargar la última versión de este módulo para poder integrar un catpcha en Prestashop 1.7?

Podemos descargar las distintas versiones del módulo desde el siguiente enlace:

  •  https://github.com/nenes25/eicaptcha/releases donde disponemos también de una versión del módulo para versiones anteriores de Prestashop.

Enlace alternativo de una versión antigua del módulo (2.0.1) por si el enlace fuente falla.

* Es muy importante descargar siempre la versión más reciente del módulo captcha desde el repositorio del desarrollador.

Documento construido bajo Prestashop 1.7.2.4 y la versión 2.0.1 del módulo.

PD: Se me ha olvidado comentar (en Prestashop 1.7) que debéis tener instalado previamente el módulo contactform, si no lo tenéis instalado, lo buscáis en la zona de gestión de módulos y aparecerá para instalarlo.

Módulo

*** Actualización del artículo:

Versiones actuales de los módulos:

Para PS 1.7 -> 2.0.4 o superior

Para Prestashop 1.7

Para Prestashop 1.6 -> 0.4.14 o superior

Versiones anteriores

Si en versiones antiguas de Prestashop o en la plantilla que usas no aparece el captcha en el formulario de contacto, edita el fichero: /themes/TuPlantilla/contact-form.tpl y añade:

<div id="captcha-box"></div>

antes de cerrar el formulario (etiqueta </form>).

Vuelvo a recordar todas las versiones del módulo aquí:

https://github.com/nenes25/eicaptcha/releases

Y más información sobre el captcha en la propia web del desarrollador:

https://www.h-hennes.fr/blog/module-recaptcha-pour-le-formulaire-de-contact-prestashop/

Mejor fuente que la web del desarrollador no vais a tener.

Continúa leyendo Captcha para Prestashop 1.7