Spam en el formulario de Prestashop
¿Recibes spam desde tu formulario de contacto en Prestashop?
Cada dÃa que pasa, son más las tiendas que están recibiendo mensajes de contacto desde el formulario de Prestashop (normalmente desde direcciónes de email rusas y con mensajes en ruso _ alfabeto cirÃlico).
Podemos estar tranquilos, ya que no se trata de una vulnerabilidad en nuestra tienda, ni están haciendo uso de la cola de correo de nuestro servidor.
¿A qué se deben estos ataques?
Es sencillo: ¡Spam! («Vale, ya me has matado, ahora me explicas para qué lo hacen?»).
Cada vez tenemos más filtros en los gestores de email (Gmail, Hotmail, Thunderbird, Outlook, etc.) que evitan la recepción de correo spam, por ese motivo, los «ingenieros del lado oscuro» (los hackers) han descubierto que pueden hacer llegar infinidad de publicidad invasiva a través de los formularios de nuestras tiendas online, ya que, de esta manera, el remitente es una dirección de email de confianza: ¡nada menos que la nuestra propia!
Esta publicidad suele derivar a páginas con intenciones subversivas (con virus, con intenciones de hacer phishing, ganar dinero por cada click, etc.), con lo que es mejor ni abrir el link.
Como ya sabemos, de nada vale enviar un email a la dirección de correo del supuesto cliente que ha enviado el mensaje… Seguramente sean emails generados de manera automática.
Â
¿Por qué mi tienda?
Los sinvergüenzas que viven de estas fechorÃas tienen medios para localizar masivamente aquellas páginas que cuentan con un formulario de contacto y muchas veces automatizan tanto el escaneo, como la explotación de esta funcionalidad (que no es una vulnerabilidad).
Si estas sufriendo este problema, tampoco debes tomártelo como algo personal, son bots (programas informáticos que automatizan estas funciones) y localizan indiscriminadamente todas las tiendas que pueden.
Para entender correctamente cómo lo hacen, primero debemos explicar qué son las URL amigables.
En principio, todas las URL de nuestra tienda Prestashop (asà como muchas otras escritas en PHP), son del tipo «https://www.nombredelatienda.com/index.php?controller=controlador«. Si tenemos activadas las URL amigables (Apartado «Trafico & SEO» del back-office de Prestashop), un módulo de PHP (el mod_rewrite) se ocupa de cambiar ese formato por el de «https://www.nombredelatienda.com/urlamigable«.
Este sistema amigable  se utiliza por diversos motivos:
- Porque la dirección es mucho más comprensible: Está escrita en nuestro idioma
- Porque es más fácil de recordar
- Está mejor considerada para hacer SEO
Si te preguntas «¿Por qué, si estoy utilizando la URL Amigable, han localizado la página con mi formulario?», la respuesta es bien sencilla: hacer uso del sistema «amigable» es complementario a la URL «enrevesada», que es la manera natural que tiene el servidor de acudir a las distintas páginas. Es decir, tú puedes acceder al formulario de tu tienda con la URL «humana», o accediendo a «https://www.nombredelatienda.com/index?controller=contact» (que es el controlador que se ocupa de mostrar tu página de contacto).
Aquà es donde los crackers acuden para utilizar tu formulario de contacto y enviarte spam. Por este motivo, cambiar la URL amigable de la página de contacto no sirve de nada.
Si tu tienda está sufriendo este «ataque», no te preocupes, porque tiene fácil solución. A continuación te contamos cómo poner freno a este problema sin necesidad de ningún conocimiento de código…
Soluciones
Seguro que hay distintas soluciones, pero también es cierto que muchas de ellas necesitan de conocimientos muy amplios de progamación para poder modificar el núcleo de Prestashop.
La solución que proponemos es bien sencilla, ya que se trata de la instalación de un módulo que incluye un «CAPTCHA» en el formulario de contacto.
Los CAPTCHAS (Completely Automated Public Turing test to tell Computers and Humans Apart – prueba de Turing completamente automática y pública para diferenciar ordenadores de humanos _ ahà es nada) es un test que muestra un desafÃo que determina que el usuario es humano.
Nosotros, con el módulo que vamos a instalar, vamos a utilizar el sistema reCAPTCHA de Google.
Descarga del módulo
El usuario nenes25 ha creado un módulo GRATUITO para Prestashop (v. 1.7 y anteriores)*. (Merci beaucoup, nenes25)
Tendremos que acudir a ésta página: https://github.com/nenes25/eicaptcha/releases y descargar la versión que se ajuste a la versión de nuestro Prestashop. En el ejemplo, vamos a descargar el módulo para la versión 1.7.
Instalación del módulo
En el ejemplo instalaremos el módulo en una tienda con versión 1.7.2 de Prestashop (la última existente en la publicación de este post), no obstante, el método no difiere mucho de una versión anterior de Prestashop.
- Accedemos al «Back-Office / Módulos y Servicios»
- Hacemos click en «Subir un módulo»
- Arrastramos o seleccionamos el fichero que descargamos antes (el fichero en formato .zip, no hay que descomprimirlo previamente)
- Hacemos click en «Configurar»
- A continuación tendremos que pedir a Google las credenciales para poder usar su sistema reCAPTCHA
- Entraremos en el siguiente enlace:Â https://www.google.com/recaptcha/intro/index.html
- Accederemos con nuestro usuario y contraseña de Google (Si no lo tenemos, deberemos crear uno. NB: Puedes vincular tu propio email con Google, en la opción «Prefiero utilizar mi dirección de correo electrónico actual«)
- En el apartado «Registrar un nuevo sitio», tendremos que poner una «Etiqueta» (una descripción para identificar el permiso solicitado), seleccionar la versión «reCAPTCHA V2», escribir el dominio donde lo vamos a utilizar, aceptar las condiciones de uso y presionar en «Register«
- En la siguiente ventana, veremos que nos ha generado una «Clave del sitio» y una «Clave secreta». Éstas serán las claves que necesitaremos utilizar en la configuración del módulo.
Â
Volveremos a la configuración del modulo que tenÃamos abierta previamente
- Introduciremos las claves en los campos correspondientes «Claves del sitio» en el campo «Site key» y «Clave secreta» en «Secret key»
- Activaremos el CAPTCHAÂ para el formulario de contacto
- Podemos activar también un CAPTCHA para la creación de la cuenta
- Si queremos, podemos forzar el idioma que se utiliza en el sistema CAPTCHA. El formato es tipo locale. Aquà tenéis una lista.
- Podemos seleccionar entre dos «temas»: el claro o el oscuro
- Al hacer click en «Guardar«, ya tendremos activado el sistema en nuestro formulario de contacto**. Para cambiar la apariencia, podremos hacerlo vÃa las hojas de estilos CSS.
Â
¿Necesitas ayuda?
¿Necesitas ayuda para instalar este u otro módulo? ¿Tienes problemas de seguridad en tu tienda online? GTR Controllers & Developers dispone de un equipo especializado en tiendas Prestashop ¡No dudes en ponerte en contacto y te ayudaremos!
* En el momento de escribir este post, la última versión disponible es la 2.02 para Prestashop 1.7 ** Dependiendo de cómo hayas instalado la tienda, es posible que el módulo "Formulario de contacto", que siempre ha venido preinstalado, no se encuentre entre los módulos instalados. Para hacerlo, sólo hay que buscarlo en el apartado "Selección" e instalarlo (no hace falta configurarlo)