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.
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.
Gracias por el aporte
Pero donde esta el enlace de github para la modificacion de los archivos
https://github.com/PrestaShop/PrestaShop/pull/8168/files
Hola,
He seguido los pasos para instalar el EICAPTCHA en la versión PS 1.7 y no se ve el captcha en ningún sitio, aunque cuando vas a registrarte o a enviar un mensaje no deja porque «no se ha seleccionado el captcha», así que debe estar… ¿Cómo podría hacer que se viera?
Muchas gracias
Hola Andrea, verás… veo que no usas el formulario de contacto por defecto de Prestashop… el módulo que indicamos en nuestro artículo así como las instrucciones asociadas son para usar con el formualario de contacto que te viene por defecto en Prestashop.
Dado tu caso, sin tener más información ni acceso a cómo lo habéis implementado, probablemente la solución que yo te recomendaría es comprar un módulo para Prestashop que utilice el CAPTCHA invisible de Google que te valga para todos los formularios de la web. Pero ya te digo, que me resulta difícil aconsejarte sin tener información más concreta.