Qué hace
La búsqueda por facetas puede crear combinaciones de filtros muy costosas. Un volumen pequeño de solicitudes anómalas puede consumir recursos, ralentizar categorías o dejar una tienda inaccesible. PrestaWard Facet Shield analiza esa complejidad antes de que el módulo de facetas procese la consulta.
No sustituye al buscador ni altera sus índices. Actúa como un cortacircuitos acotado: observa el patrón de cada petición y, solo cuando la política se activa expresamente, rechaza las combinaciones que exceden los límites configurados.
Cómo funciona
- Observa primero. Registra de forma agregada la complejidad de las solicitudes HTML y AJAX de navegación facetada.
- Revisa la evidencia. El Back Office muestra solicitudes analizadas, dentro de límite, excesos, bloqueos reales, histogramas y periodo estadístico.
- Ajusta los límites. Puedes controlar filtros, valores por faceta y solicitudes malformadas según el comportamiento real de tu catálogo, con límites propios para una categoría o para todas las de un nivel del catálogo.
- Activa Protección solo cuando esté validada. El cambio requiere confirmación y queda separado por tienda.
Qué incluye
- Modo Observación seguro por defecto y modo Protección explícito.
- Inscripción automática en Integrity API: sin cuentas ni claves que configurar.
- Análisis temprano de complejidad para peticiones de navegación facetada HTML y AJAX.
- Límites configurables por tienda para facetas, valores y contexto de petición.
- Panel con agregados por minuto, histograma de complejidad y motivos traducidos de exceso.
- Panel de límites sugeridos: a partir del tráfico registrado en Observación propone un valor para cada límite, muestra cuántas peticiones bloquean los límites actuales y cuántas bloquearía la sugerencia, y explica la causa principal en lenguaje claro, por ejemplo qué filtro de qué categoría provoca la mayor parte del exceso. Un botón aplica los cuatro límites sugeridos a la tienda seleccionada sin cambiar el modo.
- Sugerencias robustas: una sugerencia nunca es más estricta que el límite por defecto ni supera la política firmada de Integrity. Si unas pocas categorías concentran las peticiones que exceden un límite, la sugerencia se calcula con el resto, no relaja ese límite y el panel explica qué parte del exceso procede de cuántas categorías.
- Estadísticas con retención configurable (90 días por defecto, entre 30 y 365): los registros por minuto se agrupan por hora y los caducados se borran por lotes en segundo plano, nunca mientras se sirve una página a un cliente.
- El diagnóstico de bots conserva las muestras más recientes (500 por defecto, configurable entre 50 y 5000) y descarta las más antiguas en lugar de dejar de registrar.
- Panel de la caché de facetas que distingue las tablas de caché de las de índices, muestra cómo ha evolucionado el tamaño en los últimos días con un aviso si crece rápido y enlaza con la configuración nativa de
ps_facetedsearch, donde están sus herramientas para reconstruir índices y vaciar su caché. Facet Shield solo lee estas tablas y nunca las modifica ni las borra. - Panel mucho más rápido en tiendas con mucho tráfico registrado: calcula estadísticas, tendencia y límites sugeridos con dos lecturas y guarda el resultado diez minutos en un archivo de caché desechable.
- Sincronización con Integrity al abrir el panel, mediante una petición en segundo plano que no retrasa la página y como máximo una vez por minuto y tienda.
- Límites por categoría y por nivel del catálogo: una categoría, o todas las de un nivel, puede tener sus propios límites (tamaño de la consulta, facetas, valores totales y valores en una faceta); un límite en blanco usa el nivel siguiente y los límites globales siguen siendo la base. La política firmada de Integrity también limita los de categoría.
- Límites sugeridos por categoría: el panel lista las categorías que necesitan otro límite, con cuántas peticiones se bloquearían ahora y con la sugerencia, y aplica una categoría con un clic. Una categoría que parece exploración automatizada nunca se afloja.
- Protección piloto por categoría: con la tienda en Observación, puedes hacer que solo las categorías que elijas bloqueen mientras el resto sigue observando. Requiere una política firmada de Integrity válida y una confirmación explícita por categoría, y detenerla es un clic.
- Límite de peticiones por dirección (opcional): cuenta las peticiones facetadas por minuto y dirección (30 por minuto por defecto, entre 5 y 600). Por encima del límite, en Protección, la dirección se bloquea temporalmente (una hora por defecto, hasta 24) con HTTP 429 y Retry-After; en Observación solo se cuenta. No se guarda ninguna dirección IP, solo un hash con clave que se elimina poco después de terminar el bloqueo, así que no hay lista negra permanente. Las direcciones y rangos de tu lista de permitidos nunca se cuentan y un fallo de la base de datos nunca bloquea a un cliente.
- Buscadores verificados: en Protección, un Googlebot o Bingbot cuyo DNS inverso y directo coinciden con los servidores oficiales recibe una respuesta barata con noindex y la URL canónica de la categoría en lugar de un 403, de modo que la URL del filtro sale del índice sin ejecutar SQL de facetas. Solo se consulta a quien dice ser uno de esos buscadores.
- Señales de falsos positivos: las peticiones que superan los límites se cuentan también cuando proceden de un cliente con sesión iniciada, de un buscador verificado o de una ráfaga rápida de diez o más por minuto, y las estadísticas muestran las tres cifras con su proporción.
- Alertas por correo (opcionales), con la configuración de correo de la tienda: crecimiento rápido de la caché (como máximo una vez al día), picos de peticiones bloqueadas (como máximo cada seis horas) y un resumen semanal, para hasta cinco destinatarios que elijas, con un botón de correo de prueba. Sin PDF ni enlaces en el texto, y se envían desde el mantenimiento en segundo plano, nunca al servir una página a un cliente.
- Purga automática de la caché (opcional): cuando la caché de la búsqueda por facetas supera el tamaño que elijas, Facet Shield pide a
ps_facetedsearchque vacíe su propia caché con el método que ese módulo ofrece, como máximo una vez al día, y lo anota en el registro de soporte. Si la versión instalada no tiene ese método, no se toca nada. - Aviso de versiones vulnerables de
ps_facetedsearch(de la 3.0.0 a la 4.0.3, CVE-2026-54159, corregido en la 4.0.4), a partir de una pequeña tabla incluida en el módulo, sin descargar nada. - Panel en pestañas (Resumen, Límites y categorías, Tráfico y bots, Estadísticas, Caché y mantenimiento y Configuración, más una pestaña Soporte, siempre la última): solo se calcula la pestaña abierta y el Resumen muestra el modo, las últimas 24 horas, una acción principal y, como máximo, una línea de alerta.
- Restablecimiento protegido de estadísticas por tienda.
- Pestaña Límites y categorías ordenada en tarjetas: límites globales, impacto de las sugerencias con botones de tamaño normal y tabla de reglas por categoría con un formulario para añadir otra. La pestaña Caché usa bloques plegables y una sola fila de estadísticas.
- Correos de alerta con el logotipo de tu tienda en la cabecera y, en el pie, el logotipo de GO ON Agency con la firma «PrestaWard by GO ON Agency».
- 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.
- Respuestas bloqueadas comprensibles (HTTP 403, o HTTP 429 con Retry-After en el límite por dirección), sin exponer detalles internos de la política.
- Exclusión de categorías concretas del análisis de complejidad, con cambios auditables.
- Aviso en el panel cuando la caché estimada de la búsqueda por facetas alcanza el tamaño que fijes.
- Panel de soporte de GO ON Agency con un informe de diagnóstico descargable. Lo descarga un empleado con permiso de edición, con una tienda seleccionada. Solo contiene versiones, estados y contadores, no incluye URL de peticiones, direcciones IP ni credenciales y no se envía de forma automática.
- Conexión con PrestaWard Integrity, cuya política firmada solo puede endurecer tus límites, nunca relajarlos. En la pantalla del módulo, el botón Sincronizar actualiza la conexión.
- Panel y traducciones en nueve idiomas.
Límites que revisa
Antes de que PrestaShop construya la consulta de productos, Facet Shield examina el parámetro de filtros de la búsqueda por facetas. Los límites iniciales son 256 bytes para el filtro, 8 facetas, 16 valores en total y 6 valores por faceta, y rechaza las peticiones con filtros mal formados. Puedes cambiarlos para cada tienda y, además, fijar límites propios para una categoría o para todas las categorías de un nivel del catálogo. Una petición que supera cualquiera de ellos se considera un exceso.
Requisitos
- PrestaShop desde la 1.7.7 hasta la 9 y la versión de PHP que exija tu versión de PrestaShop (PHP 7.1 o superior en PrestaShop 1.7).
- Una tienda que use la búsqueda por facetas de PrestaShop: el módulo analiza el parámetro de filtros (
q) de las páginas de categoría y de búsqueda. - Para activar Protección, la tienda tiene que haber registrado al menos una petición de facetas en modo Observación.
- Las alertas por correo usan la configuración de correo de la tienda.
- Los límites, el modo y las estadísticas son propios de cada tienda. Para descargar el informe de soporte o cambiar el diagnóstico de bots, selecciona una tienda concreta.
Privacidad y alcance
Por defecto, Facet Shield solo guarda métricas agregadas de complejidad. Si activas el diagnóstico de bots, que está desactivado por defecto, conserva una muestra limitada de las peticiones que superan los límites: hasta 512 caracteres del filtro de facetas, el motivo, el tipo de página, la categoría, el agente de usuario (hasta 255 caracteres), el contador y las fechas. Nunca guarda direcciones IP, cookies ni URL completas. Si activas el límite por dirección, solo guarda un hash con clave de la dirección, que se elimina automáticamente poco después de terminar el bloqueo. Las muestras más antiguas se descartan automáticamente al superar el máximo que configures (500 por defecto), el administrador puede borrarlas desde el módulo y se pueden exportar.
Su alcance es la navegación facetada de categorías y búsquedas, tanto en peticiones normales como AJAX. No analiza peticiones sin filtros, ni el carrito, el pedido, los formularios, los clientes o el acceso administrativo; para ello se necesitan controles específicos.
Qué no hace
- No es un cortafuegos de aplicaciones web (WAF): es una defensa adicional limitada a los filtros de la búsqueda por facetas.
- No sustituye ni corrige
ps_facetedsearchy no altera sus índices. No limpia cachés por su cuenta: solo si activas la purga automática, pide a ese módulo que vacíe su propia caché con el método que ofrece, como máximo una vez al día, y nunca borra sus tablas. Debes mantener actualizados PrestaShop y ese módulo. - No bloquea nada en modo Observación, salvo las categorías que hayas puesto expresamente en Protección piloto, y solo mientras haya una política firmada de Integrity válida. Si la política caduca, el módulo vuelve a limitarse a observar hasta que se renueva.
- No mantiene listas negras permanentes de direcciones: el bloqueo del límite por dirección es temporal y se elimina solo.
- No hace nada si la petición no lleva filtros.
- El pie de los correos del módulo no contiene enlaces, direcciones de contacto ni imágenes alojadas fuera de tu tienda: el logotipo de GO ON Agency es un archivo del propio módulo que se sirve desde tu tienda.
Compatibilidad y validación
El módulo declara compatibilidad con PrestaShop 1.7.7 a 9. La versión 0.1.16 superó las pruebas de laboratorio en PrestaShop 1.7, 8 y 9 el 15 de octubre de 2026, en instalación limpia y en actualización desde la 0.1.15. Antes de activarlo, valida instalación, filtros habituales, Observación, Protección, actualización y desinstalación en tu combinación concreta de PrestaShop, PHP, tema y módulos.
Uso seguro
No actives Protección al instalar. Deja el módulo en Observación, navega por categorías y filtros habituales, revisa las estadísticas y fija límites que no afecten a clientes legítimos. Si un límite bloquea navegación real, vuelve a Observación, corrige el umbral y valida de nuevo.
Actualización de seguridad necesaria
Facet Shield añade una defensa específica ante firmas completas de serialización PHP en consultas de facetas, incluso si una categoría está excluida. No sustituye la corrección oficial: para remediar la vulnerabilidad conocida del módulo de facetas debes actualizar ps_facetedsearch a la versión 4.0.4 o posterior. El panel te avisa si detecta una versión afectada (de la 3.0.0 a la 4.0.3, CVE-2026-54159).
Licencia
PrestaWard Facet Shield se distribuye bajo la licencia Academic Free License 3.0 (AFL-3.0). Puedes utilizarlo, estudiarlo, modificarlo y redistribuirlo conforme a sus términos. El paquete del módulo incluye la licencia completa.
Historial de versiones
Este historial resume, versión a versión, el impacto para tiendas y equipos de ecommerce.
0.1.16
- Nuevo: límites por categoría y por nivel del catálogo. Una categoría, o todas las de un nivel, puede tener sus propios límites (tamaño de la consulta, facetas, valores totales y valores en una faceta); un límite en blanco usa el nivel siguiente y los límites globales siguen siendo la base. Una política firmada de Integrity limita también los de categoría.
- Nuevo: límites sugeridos por categoría. El panel lista las categorías que necesitan un límite distinto, con cuántas peticiones se bloquearían ahora y con la sugerencia, y aplica una categoría con un clic. Reutiliza la regla robusta de la sugerencia global: una categoría que parece exploración automatizada nunca se afloja.
- Nuevo: Protección piloto por categoría. Con la tienda en Observación, las categorías que elijas pueden bloquear mientras el resto solo observa. Requiere una política firmada de Integrity válida (sin ella, Facet Shield solo observa, como antes) y una confirmación explícita por categoría; detener el piloto es un clic.
- Nuevo: límite de peticiones por dirección, opcional. Cuenta las peticiones facetadas por minuto y dirección (30 por minuto por defecto, entre 5 y 600); por encima del límite, en Protección, la dirección se bloquea temporalmente (una hora por defecto, hasta 24) con HTTP 429 y Retry-After, y en Observación solo se cuenta. No se guarda ninguna dirección IP: solo un hash con clave que se elimina poco después de terminar el bloqueo, por lo que no hay lista negra permanente. La dirección es la que resuelve PrestaShop (con los proxies de confianza), las direcciones y rangos de tu lista de permitidos nunca se cuentan y un problema de base de datos nunca bloquea a un cliente.
- Nuevo: buscadores verificados. En Protección, un Googlebot o Bingbot cuyo DNS inverso y directo coinciden con los servidores oficiales recibe una respuesta barata con noindex y la URL canónica de la categoría en lugar de un 403, así que la URL del filtro sale del índice y no se ejecuta SQL de facetas. Solo se consulta a quien dice ser uno de esos buscadores; el veredicto se guarda en caché (24 horas si es válido, una hora si no) y las consultas están limitadas por minuto para toda la tienda.
- Señales de falsos positivos: las peticiones que superan los límites se cuentan también cuando proceden de un cliente con sesión iniciada, de un buscador verificado o de una ráfaga rápida de diez o más por minuto, y las estadísticas muestran esas tres cifras con su proporción. Las ráfagas se miden mientras el límite por dirección está activado.
- Nuevo: alertas por correo, opcionales, con la configuración de correo de la tienda: crecimiento rápido de la caché (como máximo una vez al día), picos de peticiones bloqueadas (como máximo cada seis horas) y un resumen semanal aparte, para hasta cinco destinatarios que elijas y con un botón de correo de prueba. Sin PDF ni enlaces en el texto. Se envían desde el mantenimiento en segundo plano, nunca al servir una página a un cliente.
- Nuevo: purga automática de la caché, opcional. Cuando la caché de la búsqueda por facetas supera el tamaño que elijas, Facet Shield pide a ps_facetedsearch que vacíe su propia caché con el método que ese módulo ofrece, como máximo una vez al día, y lo anota en el registro de soporte. Si la versión instalada no tiene ese método, no se toca nada. Facet Shield sigue sin borrar nunca las tablas de otro módulo.
- Aviso de versiones vulnerables de ps_facetedsearch, a partir de una pequeña tabla incluida en el módulo (no se descarga nada): las versiones de la 3.0.0 a la 4.0.3 están afectadas por CVE-2026-54159, corregido en la 4.0.4, y el panel recomienda actualizar.
- El panel se organiza en pestañas (Resumen, Límites y categorías, Tráfico y bots, Estadísticas, Caché y mantenimiento y Configuración). El Resumen muestra solo el modo, las últimas 24 horas, una acción principal y, como máximo, una línea de alerta; solo se calcula la pestaña abierta. 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 cabecera muestra ahora el logotipo de GO ON Agency.
- La pestaña Límites y categorías se ordena en tarjetas: límites globales, impacto de las sugerencias con botones de tamaño normal y tabla de reglas por categoría con un formulario para añadir otra. La pestaña Caché usa bloques plegables y una sola fila de estadísticas.
- Los correos de alerta 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.
- 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, los formularios de acción del panel y la sincronización con Integrity comprobaran el token de seguridad con un método que PrestaShop 9 no usa y pudieran 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.
- Corrige que la conexión con Integrity se degradara en el contexto «todas las tiendas»: 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.
- Corrige que la tabla de la pestaña Caché se desplazara unos píxeles hacia los lados en escritorio: el contenedor ocupa ahora el espacio entre sus márgenes.
- Todos los textos nuevos están disponibles en los nueve idiomas del módulo. La actualización añade una tabla pequeña y tres contadores a las estadísticas de peticiones y no activa nada por sí sola; el contrato con la API de Integrity no cambia y una política firmada válida sigue pudiendo solo endurecer los límites.
0.1.15
- Las estadísticas de peticiones dejan de crecer sin límite: cada hora, los registros por minuto de más de una hora se agrupan en uno por hora sin cambiar totales ni gráficos, y los anteriores al nuevo plazo «Conservación de estadísticas (días)» (90 por defecto, entre 30 y 365) se eliminan en lotes pequeños en segundo plano, nunca mientras se sirve una página a un cliente.
- El diagnóstico de bots ya no deja de recoger muestras al llegar a 500: conserva las más recientes y descarta las más antiguas. El ajuste «Muestras de diagnóstico a conservar» (500 por defecto, entre 50 y 5000) lo controla.
- Nuevo panel «Límites sugeridos»: a partir del tráfico registrado en modo Observación propone un valor para cada límite (tamaño de la consulta, facetas, valores totales y valores en una faceta), muestra cuántas peticiones bloquean los límites actuales y cuántas bloquearía la sugerencia, y explica la causa principal, por ejemplo qué filtro de qué categoría provoca más exceso. Un botón aplica los cuatro límites sugeridos a la tienda seleccionada sin cambiar el modo.
- Las sugerencias nunca son más estrictas que el límite por defecto, nunca relajan un límite y respetan la política firmada de Integrity cuando es más estricta. Si unas pocas categorías concentran las peticiones que superan un límite, la sugerencia se calcula sobre el resto, el panel indica qué parte del exceso procede de cuántas categorías y ese límite no se modifica al aplicar.
- El panel de la caché de la búsqueda por facetas distingue las tablas de caché de las de índices, muestra cómo ha evolucionado su tamaño en los últimos días con un aviso si crece deprisa, contempla las tiendas donde ps_facetedsearch falta o está desactivado y enlaza con su configuración nativa. Facet Shield solo lee esas tablas: nunca las modifica ni las borra.
- El panel es mucho más rápido en tiendas con mucho tráfico registrado: con más de medio millón de registros pasa de unos 20 segundos a unos pocos, y a una fracción de segundo si se vuelve a abrir en menos de diez minutos. Las cifras mostradas no cambian.
- Todos los textos nuevos están disponibles en los nueve idiomas del módulo.
- 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.1.14
- 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 y sus límites si una renovación falla.
- Una política firmada de Integrity solo puede endurecer los límites configurados en la tienda, nunca relajarlos: para el tamaño, el número de facetas, de valores y de valores por faceta se aplica el menor entre tu límite y el de la política, y el modo (Observación o Protección) lo decides tú.
- 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.
- Declara compatibilidad desde PrestaShop 1.7.7.0, la versión más antigua probada.
0.1.13
- Corrige la prueba de inscripción y las tareas del Back Office en PrestaShop 9.
- Acepta los dos formatos legítimos de URL de prueba de propiedad con validación estricta.
- Mejora el diagnóstico y los reintentos de inscripción en Integrity.
0.1.12
- La desinstalación elimina también la tabla de exclusiones por categoría y todas las claves de configuración de Integrity (fase de instalación, prueba de inscripción, credencial sellada y claves), sin dejar rastro.
- Se añaden los
index.phpde protección que faltaban y la comprobación de acceso directo mediante_PS_VERSION_en el controlador de Back Office y en los tres últimos scripts de actualización, igual que en el resto de puntos de entrada del módulo. - Adopta el sistema de diseño compartido de PrestaWard: el panel de Back Office usa la cabecera oscura común, el indicador unificado de estado (Desactivado/Observando/Protegiendo) y el panel «Monitorización GO ON», servidos desde una única hoja de estilos compartida y alojada en local.
0.1.11 — actualización de seguridad
- Las exclusiones por categoría solo evitan el análisis normal de complejidad: las firmas completas de serialización PHP se siguen analizando, registrando y bloqueando siempre en modo Protección.
- Se documenta que
ps_facetedsearch4.0.4 o posterior es necesario para remediar CVE-2026-54159; Facet Shield sigue siendo un control de defensa en profundidad, no un sustituto de la corrección oficial.
0.1.10
- Simulador local de URL o
q, tendencia diaria basada en agregados existentes y exportaciones CSV acotadas. - Exclusiones auditables por categoría, con motivo obligatorio y borrado lógico; no se excluyen IP ni user-agent.
- La primera activación de Protección exige evidencia propia de Observación y calcula una estimación conservadora de impacto con la política candidata; sin solicitudes observadas no permite activar el bloqueo.
- Todos los directorios de producción del paquete incluyen un
index.phpque termina la ejecución, incluidoviews/js. - La guía indica cómo reenrolar Integrity por tienda después de rotar
_COOKIE_KEY_, sin recuperar ni compartir la clave anterior. - Defensa adicional ante cabeceras completas de serialización PHP en consultas de facetas, sin bloquear valores normales que contengan texto como
O:. - Aviso configurable por tienda cuando la estimación de caché de búsqueda facetada supera el umbral definido; el módulo no borra ni actualiza nada automáticamente.
- Los reintentos y heartbeats de Integrity dejan de ejecutarse dentro del render síncrono de cualquier pantalla del Back Office: se programan mediante una petición asíncrona autenticada y limitada.
- Se elimina la consulta del resumen de eventos legado sin borrar datos históricos y se conserva el panel de actualizaciones existente como único aviso de nuevas versiones.
0.1.9
- El enrolamiento utiliza ahora el dispatcher nativo de módulos de PrestaShop y deja de depender de URL amigables, reglas de
.htaccesso cachés de rutas. - La actualización desde versiones anteriores repara de forma idempotente los hooks necesarios sin borrar políticas ni estadísticas.
- Al abrir el dashboard se comprueba automáticamente si existe una versión nueva, con una caché de seis horas y sin bloquear el Back Office si el manifiesto no responde.
- Flujo validado en PrestaShop 1.7, 8 y 9.
0.1.8
- La protección se limita a controladores reales de categoría y búsqueda, evitando bloquear parámetros
qajenos a las facetas. - Las solicitudes
HEADbloqueadas devuelven únicamente cabeceras, sin cuerpo. - El diagnóstico identifica el agente como declarado y explica correctamente la muestra abreviada de user-agent que se conserva de forma opcional.
- Integrity se presenta con un estado mínimo de conexión y sincronización, sin detalles internos que confundan al usuario.
- Compatibilidad funcional validada en PrestaShop 1.7, 8 y 9.
0.1.7
- Heartbeat automático sin cron: el tráfico de la tienda activa una sonda local limitada y el servidor renueva la presencia ante Integrity API sin exponer credenciales al navegador.
- Bloqueo atómico por tienda, intervalo de seis horas y espera de quince minutos tras fallos para evitar envíos duplicados.
- La sincronización manual de Integrity también renueva el heartbeat.
- Compatibilidad validada en PrestaShop 1.7, 8 y 9.
0.1.6
- Heartbeat autenticado, reintentos automáticos y diagnóstico detallado de conexión con Integrity API.
- Diagnóstico opcional también en Observación, con identificación del agente, filtros por bot y motivo, paginación y muestra acotada de la combinación de facetas.
- Retención controlada por el administrador: número de muestras, espacio estimado y borrado manual desde el Back Office.
- Indicadores visuales y de solo lectura sobre tamaño, registros estimados y tablas de la caché de facetas.
- Interfaz reorganizada: modos y activación de Protección bajo «Qué hace», secciones delimitadas e Integrity API relegada al final.
- Sin IP, cookies ni URL completas; textos disponibles en nueve idiomas.
- Instalación, bloqueo, diagnóstico, caché, desinstalación y reinstalación verificados en PrestaShop 1.7, 8 y 9.
0.1.5
- Inscripción automática y no bloqueante en Integrity API mediante prueba de control de la tienda.
- La instalación no requiere cuentas, claves API ni pasos de registro manual.
- Políticas firmadas verificadas con anclas de confianza incluidas en la versión.
0.1.4
- Histogramas de complejidad y conteo atómico para todas las solicitudes analizadas.
- Límites de valores por faceta, solicitudes malformadas y contexto de petición acotado.
- Estado de Observación, inicio del periodo estadístico y restablecimiento protegido por tienda.
- Motivos y estadísticas traducidos.
0.1.3
- Indicadores de solicitudes analizadas, dentro de límite, excesos y bloqueos reales.
- Agregados por tienda y minuto sin IP, URL, agente de usuario ni valores seleccionados.
- Selector de modo accesible y shell visual PrestaWard para escritorio y móvil.
0.1.2
- Identidad de instalación y tienda preparada para Integrity API.
- Política firmada con último estado válido por tienda y retorno seguro a Observación.
- Estado de conexión y reintento manual desde Back Office, sin llamadas desde Front Office.