Registro de cambios — PrestaWard Captcha
Este historial resume, versión a versión, el impacto para tiendas y equipos de ecommerce.
0.2.7
- Nuevo: modo local por formulario. El boletín, el contacto y los avisos de disponibilidad pueden protegerse solo con comprobaciones locales (marca de tiempo firmada, campo trampa, tiempo mínimo de envío de 4 segundos y límite de envíos), sin cargar ningún script de un proveedor ni necesitar claves. Cada formulario conserva su modo (Desactivado, Observación o Protección) y solo pasa a Protección tras superar la autoprueba en Observación. Es más débil frente a bots dirigidos que un proveedor y nunca se ofrece para acceso, registro, pedido, recuperación de contraseña, Back Office ni comentarios. Las estadísticas muestran cuántos envíos de cada formulario se comprobaron en local. Una página servida desde una caché completa durante más de seis horas puede rechazar el envío; recargarla lo resuelve.
- Nuevo: dominios de correo bloqueados. Una lista que escribes tú (una regla por línea, un dominio exacto o un comodín para sus subdominios, hasta 100 reglas) se aplica al registro de clientes, también durante la compra, y al boletín. Se compara antes de consultar al proveedor y un correo coincidente se rechaza con un mensaje neutro que no revela la lista. En Observación solo se registra lo que se habría rechazado. No se guarda el correo ni su dominio: solo un contador y un evento sin datos personales por cada rechazo.
- Nuevo: puntuación mínima de reCAPTCHA v3 por formulario. Si la dejas vacía, se usa la puntuación global, así que nada cambia hasta que fijes un valor. Un valor no válido vuelve a la puntuación global.
- Nuevo: tema (claro, oscuro o automático) y tamaño (normal o compacto) del widget de reCAPTCHA v2 y Cloudflare Turnstile, también en el acceso al Back Office. Los valores por defecto conservan el aspecto actual; reCAPTCHA v3 y v2 invisible no muestran widget. En reCAPTCHA, «automático» sigue el esquema de color del visitante.
- El acceso al Back Office usa el mismo respaldo local que los formularios de clientes, solo mientras el proveedor no está disponible y el servidor lo confirma. Un proveedor que ha respondido «verificación fallida» se sigue rechazando como siempre. Cada uso queda registrado como «fallback used», un interruptor por tienda lo desactiva y la pausa temporal del operador se mantiene. La pantalla de acceso nunca se queda bloqueada: el script informa del fallo al servidor y después envía el formulario en cualquier caso. Durante una caída, ese acceso es más débil frente a un bot dirigido; conviene mantener PrestaWard Authenticator como segunda barrera. La guardia de fallo de integración sigue sin afectar al Back Office.
- El panel se divide en pestañas (Resumen, Superficies, Proveedor y Estadísticas y registro) y solo calcula la pestaña abierta. El Resumen muestra el estado de cada proveedor, las verificaciones correctas y fallidas de las últimas 24 horas, el modo efectivo de cada formulario y, como máximo, una línea de alerta que lleva a la pestaña donde se resuelve. Cada pestaña tiene su botón Guardar y guarda solo los ajustes que muestra. El panel de soporte de GO ON Agency tiene su propia pestaña, Soporte, siempre la última, y el estado de Integrity queda al final de todas las pestañas.
- La pestaña Superficies se rediseña: tabla de formularios agrupada, selector de modo que ya no corta su texto (antes mostraba «Desa») y botón Guardar fuera de la tarjeta de pausa temporal, sin solaparla. El tema y el tamaño del widget se ajustan en una sección de esta pestaña.
- Corrige el aviso «formularios activados sin superar su prueba»: aparecía con seis formularios aunque todos estuvieran desactivados. Ahora solo cuenta los formularios que no están en modo Desactivado.
- En las instalaciones nuevas, las alertas por correo de incidencias vienen desactivadas hasta que indiques una dirección, de modo que la configuración se puede guardar desde el primer momento. Las instalaciones que se actualizan conservan sus ajustes.
- Los correos de incidencia (abierta y recuperada) muestran el logotipo de tu tienda en la cabecera (con el nombre de la tienda como texto alternativo) y un pie común con el logotipo de GO ON Agency y la firma «PrestaWard by GO ON Agency», sin enlaces ni direcciones de contacto. El logotipo del pie es un archivo del propio módulo servido desde tu tienda.
- Corrige que el cuerpo del correo de incidencia mostrara códigos internos (por ejemplo «configuration_test» u «opened»): ahora indica el formulario, la causa y el estado con textos traducidos a los nueve idiomas.
- Corrige que un fallo de una llamada al proveedor dejara bloqueado un formulario del Front Office; las llamadas al proveedor del script de la tienda están protegidas igual que las del acceso al Back Office.
- Aspecto unificado del panel en los cuatro módulos PrestaWard: cabeceras de sección, tarjetas de formulario con bordes neutros y bloques plegables comunes, estadísticas en una sola línea y un logotipo de GO ON Agency más grande en la cabecera. El botón principal pasa a ser un color sólido de la marca, sin degradado.
- Corrige que, en PrestaShop 9, el tema de administración mostrara las pestañas subrayadas como enlaces y los títulos de sección en mayúsculas. Los estilos comunes lo neutralizan solo dentro del panel de PrestaWard, así que PrestaShop 1.7 y 8 se ven igual que antes.
- Corrige que, en PrestaShop 1.7, la hoja de estilos del módulo se descartara al registrarla con el número de versión en la dirección. Ahora se comprueba el archivo y se registra sin parámetros, de modo que el aspecto nuevo aparece en 1.7, 8 y 9.
- Corrige que, en PrestaShop 9, la sincronización con Integrity comprobara el token de seguridad con un método que PrestaShop 9 no usa y pudiera rechazarse. Ahora se valida con el servicio de PrestaShop 9; en PrestaShop 1.7 y 8 la comprobación sigue igual.
- Cuando la conexión con Integrity no se puede actualizar en ese momento, el panel muestra un único mensaje: la conexión guardada sigue siendo válida y se reintentará automáticamente. Las etiquetas de todas las pestañas están traducidas a los nueve idiomas.
- El modo local tiene su propio límite de envíos (de 1 a 50 cada 10 minutos). La actualización copia el límite actual del respaldo, así que no cambia nada tras actualizar, y modificar uno de los dos límites ya no cambia el otro.
- Corrige que, en PrestaShop 9, un captcha rechazado (por ejemplo, con una clave del sitio no válida en Protección) mostrara solo el mensaje genérico de PrestaShop sobre el empleado o la contraseña. El módulo muestra ahora su propio mensaje en todas las versiones; PrestaShop 9 sigue añadiendo después su línea genérica.
- Corrige que la conexión con Integrity se degradara en el contexto «todas las tiendas» del Back Office o cuando una tienda distinta de la primera servía la prueba de inscripción. La identidad de la instalación se lee ahora como una unidad desde el ámbito global (o desde la tienda que la guarda) en cualquier contexto, la actualización pasa al ámbito global una identidad guardada en una tienda sin regenerarla y, si no se puede leer, el estado de Integrity se deja como estaba.
- La cabecera del producto vuelve a mostrar el logotipo de GO ON Agency y la firma «PrestaWard by GO ON Agency», sin enlaces.
- Mientras uses un proveedor, su token se sigue exigiendo exactamente igual que antes. Las superficies detectadas, los ajustes guardados y el contrato con la API de Integrity no cambian, y las nuevas formas de rechazar o verificar un formulario (modo local y dominios bloqueados) están desactivadas por defecto. La actualización no modifica ninguna tabla: solo añade ajustes nuevos con valores que conservan el comportamiento actual.
0.2.6
- Cada formulario tiene su propio modo en cada tienda (Desactivado, Observación o Protección), en lugar de un modo único para toda la tienda más interruptores. Así puedes proteger el acceso al Back Office y solo observar el formulario de contacto. Un formulario solo pasa a Protección tras superar el autotest en Observación, y la actualización conserva el comportamiento actual de cada tienda.
- Protección ante la caída del proveedor (formularios de clientes en modo Protección): si el servidor confirma que reCAPTCHA o Turnstile no se puede usar, el formulario se acepta solo si lleva una marca de tiempo firmada, un campo trampa invisible vacío, unos segundos desde la carga de la página y un ritmo normal de envíos. Cada uso se registra en las estadísticas. Está activada por defecto, se puede desactivar por tienda y el acceso al Back Office nunca la usa.
- Cambio a tener en cuenta: con esa protección activada, un cortacircuitos abierto ya no deja pasar todos los envíos, sino que aplica esas mismas comprobaciones locales. Desactívala para conservar el comportamiento anterior.
- Prefiltro en el servidor (modo Protección): rechaza bots evidentes antes de llamar al proveedor, solo con pruebas positivas (campo trampa relleno, marca de tiempo falsificada, envío más rápido de lo que escribiría una persona o más de 30 envíos por formulario y visitante cada 10 minutos). Se puede desactivar por tienda.
- Las nuevas comprobaciones no guardan nada identificable: los visitantes se agrupan en un cubo anónimo con una clave que cambia cada día, solo en un contador que se purga a los dos días.
- Nuevo panel de estadísticas: envíos permitidos y bloqueados por formulario y día (7, 14 o 30 días), tendencia frente al periodo anterior, activaciones de la protección ante la caída del proveedor, peticiones descartadas antes del proveedor, un indicador de posibles falsos positivos y, en Observación, los envíos que se habrían bloqueado. No contiene direcciones ni correos.
- Formularios personalizados: un formulario que no se reconoce automáticamente (checkout en una página, formularios del tema) se puede asignar por tienda a una superficie protegida mediante un selector CSS (hasta diez). El panel avisa de que la protección solo es efectiva si el formulario envía sus datos a una página que el módulo verifica.
- Guardia de fallo de integración (formularios de clientes en Protección): si un formulario deja de entregar el token al servidor mientras el proveedor funciona (por una actualización del tema, JavaScript propio o la caché de página), ese formulario pasa solo a una Observación temporal y recibes una incidencia y un correo. Vuelve a Protección tras 15 minutos sin el problema y tres tokens verificados. El acceso al Back Office nunca se ve afectado y los bots evidentes se siguen rechazando.
- La actualización crea una pequeña tabla de contador y los ajustes nuevos con valores seguros, y conserva los ajustes y eventos existentes.
- El panel de soporte y diagnóstico se coloca justo antes de la sección de Integrity, como en el resto de módulos PrestaWard, y en el contexto «todas las tiendas» ya no desaparece: indica que hay que seleccionar una tienda.
- Sincroniza con Integrity cada vez que abres el panel, con una petición en segundo plano que nunca retrasa la página y como máximo una vez por minuto y tienda.
0.2.5
- Corrige el servicio de inicio de sesión del Back Office en PrestaShop 1.7. En PrestaShop 9, la comprobación se limita al formulario de acceso del Back Office y no afecta a la API de administración.
- Deja de reintentar la inscripción en Integrity cuando cambia la clave de registro de la tienda y muestra un aviso claro.
- Renueva la política firmada de Integrity antes de que caduque y conserva la política vigente si una renovación falla.
- Corrige la clave de política incluida para que funcione en PHP 7.1 y 7.2.
- Añade el panel de soporte de GO ON Agency en nueve idiomas, con un informe de diagnóstico descargable que no incluye datos de clientes ni se envía automáticamente. Solo lo descarga un empleado con permiso de edición y con una tienda seleccionada.
- Aplica de verdad el plazo de conservación de los registros técnicos (30 días por defecto, configurable por tienda): hasta ahora se guardaban sin límite. Cada tienda elimina a diario los registros caducados y las incidencias no se ven afectadas.
- Declara compatibilidad desde PrestaShop 1.7.7.0, la versión más antigua probada.
0.2.4
- Corrige el envío del login administrativo con Turnstile tras resolver el CAPTCHA, conservando el botón que inició el envío.
- Corrige la prueba de inscripción en PrestaShop 9 y mejora el diagnóstico y los reintentos de Integrity.
0.2.3
- Versión no publicada, sustituida por 0.2.4.
0.2.2
- Evita que otros manejadores JavaScript del tema inicien el envío mientras el CAPTCHA todavía está pendiente.
- Elimina estados de carga interminables y peticiones realizadas antes de disponer de un token válido.
- Muestra el CAPTCHA al abrir formularios de acceso o registro que estaban ocultos al cargar la página.
0.2.1
- Restaura el CAPTCHA visible antes del primer intento de acceso en Front Office y Back Office.
- Evita que la caché muestre un CAPTCHA antiguo o incorrecto después de actualizar el módulo.
- Sustituye el popup por una advertencia accesible, visible y adaptada a móviles.
- Mantiene los fallos del Back Office en su pantalla de acceso con un único error, sin páginas en blanco.
0.2.0
- Añade Cloudflare Turnstile con credenciales cifradas y selección independiente por superficie.
- Vincula cada token a su acción protegida y renueva el desafío en envíos repetidos.
- Mejora la detección de formularios de login, registro, recuperación, checkout, boletines y avisos.
- Incorpora una pausa operativa temporal, limitada y auditada, sin rebajar la política firmada de Integrity.
- Actualiza el panel, su diseño adaptable y las traducciones de los nueve idiomas.
- Refuerza la persistencia fail-closed de la última política Integrity verificada.
0.1.2
- Distingue ráfagas automatizadas de fallos operativos y evita alertas duplicadas.
- Cierra automáticamente las incidencias de tráfico automatizado tras un periodo de calma.
0.1.1
- Comprobaciones de disponibilidad por superficie antes de poder activar Protección.
- Salud operativa, historial de incidencias, filtros, paginación y limpieza.
- Telemetría de salud acotada e integración con el heartbeat de Integrity.
0.1.0
- Primera versión pública candidata.
- Protección independiente por superficie y tienda.
- Integración con reCAPTCHA v2 y v3.
- Enrollment, política firmada y heartbeat de PrestaWard Integrity.
- Comprobación de actualizaciones y experiencia visual común del ecosistema.
- Compatibilidad multiversión y catálogo completo en nueve idiomas.