Seguridad y SSL
Configurar reCAPTCHA en PrestaShop 1.6 con eicaptcha
Los sistemas de CAPTCHA son la forma más directa de frenar el spam: la típica prueba que comprueba que quien rellena el formulario es una persona y no un robot. En PrestaShop son especialmente necesarios, porque las tiendas son objetivo habitual de bots que crean cientos de cuentas falsas al día y envían formularios de contacto en masa.
El problema no es solo tener que borrar esas cuentas. Los bots consumen CPU y memoria de la tienda, y cada alta falsa hace que PrestaShop envíe un correo de bienvenida a direcciones inexistentes de Gmail, Hotmail y similares. Esos proveedores rechazan los mensajes y acaban considerando sospechoso el dominio de la tienda, con lo que tus correos legítimos empiezan a llegar a la carpeta de spam de tus clientes.
PrestaShop 1.6 ya no recibe actualizaciones de seguridad. El CAPTCHA frena los registros y envíos automáticos por formulario, pero no protege de las vulnerabilidades de la versión. Úsalo para cortar el spam ya y planifica la actualización de la tienda.
Para proteger la tienda utilizaremos el módulo gratuito eicaptcha, que integra reCAPTCHA de Google en los formularios de PrestaShop.
Descargar e instalar el módulo
Descarga el módulo desde su página oficial en GitHub:
El módulo tiene dos ramas: la 2.x es para PrestaShop 1.7 y 8, y la 0.4.x es para PrestaShop 1.6 (en la descripción aparece «PS version under 1.7»). Para PrestaShop 1.6 la última versión es la 0.4.17; descarga el fichero eicaptcha.zip de esa versión. Si instalas una versión 2.x en la 1.6 no funcionará.

Instala el módulo como cualquier otro: en el panel de administración de PrestaShop entra en Módulos y servicios, pulsa Añadir nuevo módulo y sube el zip descargado.

También puedes descomprimir el zip y subir la carpeta eicaptcha por FTP o desde el administrador de archivos de cPanel al directorio modules de PrestaShop.
Si no se activó al instalarlo, búscalo en el catálogo de módulos y pulsa Instalar o Activar:

Al terminar se abrirá la configuración del módulo, que pide las claves de reCAPTCHA. Las obtenemos en el siguiente paso.
Obtener las claves de reCAPTCHA
Entra en la consola de administración de reCAPTCHA con una cuenta de Google (sirve cualquier cuenta de Gmail) y registra un sitio nuevo:

- En Etiqueta escribe un nombre que te permita reconocerlo, por ejemplo el dominio de la tienda.
- En Tipo de reCAPTCHA marca Desafío (v2) y después Casilla de verificación «No soy un robot». La versión 0.4.x del módulo solo admite reCAPTCHA v2: unas claves v3 no funcionarán.
- En Dominios añade el dominio de la tienda, por ejemplo
tutienda.com. reCAPTCHA acepta también sus subdominios, comowww.tutienda.com.
Acepta las condiciones y pulsa Enviar. Google te mostrará dos claves: la clave de sitio web y la clave secreta. Cópialas y anota cuál es cuál.

La interfaz de Google ha cambiado de aspecto desde estas capturas, pero los campos son los mismos.
Configurar el módulo
Vuelve a la configuración de eicaptcha en PrestaShop y rellena:
- Public key: la clave de sitio web.
- Private key: la clave secreta.
- Activa el captcha en los formularios que quieras proteger, como mínimo en la creación de cuenta y el formulario de contacto.
- Indica el código del idioma del captcha, por ejemplo
es.

Guarda los cambios. Desde ese momento los formularios mostrarán la casilla «No soy un robot»:

Comprobar que funciona
- Abre la tienda en una ventana privada y entra en el registro de clientes y en la página de contacto: debe aparecer la casilla de reCAPTCHA.
- Intenta registrarte sin marcar la casilla: PrestaShop debe mostrar un error y no crear la cuenta.
- Marca la casilla y completa el registro: la cuenta debe crearse con normalidad.
Si la casilla no aparece, vacía la caché de PrestaShop en Parámetros avanzados > Rendimiento y revisa que el tema no tenga una plantilla de registro o contacto modificada que omita el hook del módulo. Si aparece el error «Invalid domain for site key», el dominio de la tienda no coincide con el registrado en reCAPTCHA.
Si siguen entrando cuentas falsas
Si después de activar el captcha siguen apareciendo altas falsas, los bots no están pasando por el formulario. Comprueba la versión exacta en Parámetros avanzados > Información: la última de la rama 1.6 es la 1.6.1.24, que corrige el fallo de registro masivo que usaban estos bots. Si tu tienda tiene una versión anterior, haz una copia y actualízala a la 1.6.1.24 mientras preparas el paso a una versión con soporte.
Las cuentas falsas suelen reconocerse porque el nombre o el apellido contienen enlaces o texto publicitario. Antes de borrarlas en Clientes > Clientes, filtra por fecha de alta y comprueba que no tienen pedidos.
También te puede ayudar
- Frenar el spam enviado desde formularios de PrestaShop Explica cómo confirmar si los rebotes proceden de un formulario de PrestaShop y cómo contener el abu...
- Aviso histórico sobre registros masivos en PrestaShop 1.6 y 1.7 Documenta el fallo corregido en PrestaShop 1.6.1.24 y 1.7.5.2 y explica cómo actuar si todavía se lo...
- Identificar y frenar el abuso de formularios de una web Explica cómo identificar si los rechazos proceden de un formulario abusado y cómo protegerlo con val...
- Desactivar el registro público de usuarios en Joomla Indica cómo impedir el alta pública de usuarios en versiones mantenidas de Joomla cuando la web no n...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.