Desde principios del 2018 son muchos los clientes que se empiezan a quejar de repente de que les está llegando mucho correo de SPAM a través del formulario de contacto de Prestashop, especialmente de direcciones rusas y en ruso.

Tras investigar bastante y leer varios hilos del foro oficial de Prestashop, hemos sacado unas conclusiones interesantes que os resumimos en este artículo.

captcha prestashop

A) PARCHE DE SEGURIDAD PARA VERSIONES < PRESTASHOP 1.6.1.17

Si estáis trabajando con una versión de Prestashop inferior a la 1.6.1.17, deberéis incluir un parche de seguridad, editando 2 ficheros:

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

En este enlace de github podéis ver los cambios a realizar en cada uno de los dos ficheros:
https://github.com/PrestaShop/PrestaShop/pull/8168/files

Las líneas verdes con el + se deben añadir a vuestro fichero original
Las líneas en rojo con el – se deben borrar de vuestro fichero original

Hechos los cambios, deberéis limpiar la caché en Parámetros avanzados > Rendimiento.

B) INSTALAR EL MÓDULO EICAPTCHA CON EL CAPTCHA DE GOOGLE

Se puede descargar el módulo para las distintas versiones de Prestashop aquí:
https://github.com/nenes25/eicaptcha/releases

Para las versiones de Prestashop 1.6.X y Prestashop 1.5.X recomendamos la versión 0.4.12 y, a día de hoy, para Prestashop 1.7.X la versión 2.0.3, pero que es muy posible que vayan creando nuevas versiones con mejoras y que cuando leáis el artículo ya haya nuevas versiones.

C) OBTENER LOS DATOS SITE KEY Y PRIVATE KEY DE GOOGLE

Deberemos añadir el dominio de nuestra web en:
https://www.google.com/recaptcha/intro/index.html

y seleccionar el captcha que queremos utilizar, que en este caso será el reCAPTCHA V2.

Una vez registrado nuestro sitio, podremos obtener la SITE KEY y la SECRET KEY, necesarias para configurar el módulo

D) INSTALAR Y CONFIGURAR EL MÓDULO

Instalaremos y configuraremos el módulo con los datos proporcionados por Google que hemos conseguido en el paso C, lo que resulta muy sencillo. Podemos elegir si queremos utilizar el captcha de google sólo en el formulario de contacto o también en el de registro.