PrestaShop 1.6: Solucionar Envío de SPAM desde Formulario de Contacto

PrestaShop 1.6

¿Cansado de que los robots te hagan ataques desde el formulario de contacto de tu PrestaShop 1.6?

Si un robot consigue enviar más de 400 emails en una hora desde tu formulario de contacto en PrestaShop 1.6, en Hostinet detectaremos este ataque y abriremos una incidencia de seguridad para avisarte y para que te pongas manos a la obra para solucionarlo.

Te recordamos que en los alojamientos web de Hostinet no puedes enviar más de 400 emails por hora (si quieres enviar más tienes que contratar un paquete adicional).


El problema tal vez radica en si no se llega a alcanzar esa cifra, ves que estás recibiendo muchos correos providentes de Rusia y China (qq.com – mai.ru), pero no sabes cómo ponerle freno a este ataque al formulario.

Sistema de Captcha

Normalmente la forma más sencilla de abordar esta situación es implantando un sistema de Captcha para el formulario de contacto en PrestaShop 1.6 mediante algún módulo, sin embargo, nos han reportado clientes que el Módulo de Captcha gratuito para PrestaShop 1.7 que comentamos NO parece funcionar con PrestaShop 1.6. Nosotros lo hemos probado y tampoco nos ha funcionado. Así que si se desea poner un módulo de Captcha para PrestaShop 1.6 parece que la única alternativa que hay es pasar por caja -> Addons PrestaShop ReCaptcha

recaptcha

Lo bueno de los módulos de pago es que suelen valer para todas las versiones de PrestaShop y en esta ocasión uno de Captcha lo tenemos por unos 30€, vamos que no es muy caro si lo comparamos con otros módulos.

Otra Alternativa – Modificación de 2 Ficheros de PrestaShop 1.6

Si no estás interesado en pasar por caja igual te interesa está alternativa “casera” que básicamente consiste en modificar dos archivos de PrestaShop 1.6, introduciendo unos cambios y borrando una línea en uno de los archivos.

A primera vista puede parecer complicado, pero no lo es absoluto como vas a poder comprobar a continuación.

Los dos ficheros a modificar serían los que se encuentran en las siguientes rutas:

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


Modificaciones a introducir

Para saber que modificaciones debes llevar a cabo tienes que dirigirte hasta el siguiente post de GitHub, donde aparecen documentadas:
https://github.com/PrestaShop/PrestaShop/pull/8168/files

Si te quedas mirando las modificaciones puede que te quedes igual que estabas, pero la cosa tiene “truqui”: A la izquierda puedes ver “+” y “-“, esto lo que indica es que las líneas con un “+” las tienes que añadir en tu fichero y la línea con un “-“ la tienes que borrar.

FTP y/o Administrador de Archivos de cPanel

La forma más sencilla de acceder a los dos archivos de PrestaShop 1.6 es mediante un cliente de FTP como FileZilla o a través del propio Administrador de Archivos de cPanel.

/controllers/front/ContactController.php

Por ejemplo, si accedes a través del Administrador de Archivos de cPanel debes buscar esa ruta de la instalación de PrestaShop: /controllers/front/ContactController.php, hacer click sobre el archivo con el botón derecho y después pulsar la opción de “Edit”.

PrestaShop ContactController.php Edit

Bien, ahora tienes que ir a GitHub y mirar las modificaciones a realizar en dicho archivo. La información está muy bien documentada, ya que incluso pone las líneas en las que va la información que debes añadir (son 9). Recuerda, las líneas con “+” son para añadirlas en tu archivo ContactController.php y la línea con “-“ es para quitarla.

PrestaShop ContactController.php Github

Por ejemplo, en la línea 38, justo debajo de "if (Tools::isSubmit('submitMessage')) {", debes añadir lo que hay en la línea 39 de GitHub con el “+”, es decir: “$saveContactKey = $this->context->cookie->contactFormKey;” Sobra decir que el “+” no hay que ponerlo, ya que sino rompería la línea, solo hay que poner el código (se puede hacer copy & paste).

/themes/tuplantillaenuso/contact-form.tpl

En lo que respecta al archivo contact-form.tpl debes buscarlo en la ruta de la instalación de la plantilla que estés usando actualmente y hacer click en “Edit” como antes.

PrestaShop 1.6 Contact Form Edit

En el archivo contact-form.tpl lo único que tienes que hacer es añadir las dos líneas que salen en GitHub para ese archivo.

PrestaShop 1.6 ContactForm.tpl Github

Una vez realizados los cambios indicados en GitHub basta con que borres la caché de PrestaShop y listo.

Se supone que PrestaShop ya solucionó el problema de envío de SPAM desde formulario de contacto en la versión 1.6.1.17, pero seguramente es posible que no tengas esa versión actualmente, y quien sabe, a veces las vulnerabilidades no están tan corregidas como uno piensa, así que mejor poner medidas para ello. Incluso también deberías de pensar en pasarte a PrestaShop 1.7, ya que en octubre de 2018 cesara el soporte de PrestaShop 1.6

 


Estamos presentes en las siguientes redes sociales: Facebook y Twitter @hostinet
¡SÍGUENOS!


TU Hosting PrestaShop ¡Al Mejor Precio!

Hosting PrestaShop