Todo lo que querrías saber antes de instalar.
Una mirada detallada a cómo funciona Cabeceras de Seguridad PrestaShop 8 y 9: CSP, HSTS y Nota A+ sin Tocar el Servidor, por qué lo construimos así y la lógica detrás de las características anteriores.
Por qué su tienda saca F en securityheaders.com
PrestaShop no envía casi ninguna cabecera de seguridad. Sin Content-Security-Policy, un script inyectado por un módulo comprometido o un fallo XSS puede leer los campos del formulario de pago. Sin HSTS, la primera visita puede ir por http. Sin X-Frame-Options, su tienda puede mostrarse dentro del marco de un sitio trampa. Los escáneres públicos lo ven en segundos, y agencias, auditores y algunos socios de pago consultan estas notas.
Crear una CSP sin romper el pago
Una CSP demasiado estricta bloquea Google Analytics, el chat o el formulario de Stripe. Por eso el módulo parte de una política compatible con los temas de PrestaShop y le deja marcar los servicios que usa. En modo de prueba, la política se aplica a sus IP y dispositivos de prueba, mientras los navegadores de los visitantes informan en Report-Only de lo que se bloquearía. Recorre la tienda, trata las infracciones y pasa al modo aplicado cuando la lista queda vacía.
unsafe-inline, nonce y la nota A+
La nota A exige una CSP aplicada, HSTS de al menos seis meses y las cabeceras habituales. La A+ exige además que los scripts inline dejen de permitirse sin control. El modo nonce añade un token aleatorio a cada etiqueta script de la página y quita unsafe-inline. Dos límites: un módulo de caché de página completa sirve el HTML con el nonce del primer visitante, y las etiquetas HTML personalizadas de Google Tag Manager deben usar la variable nonce de GTM. El registro de infracciones muestra estos casos antes de pasar a producción.
Un módulo que vigila después de la puesta en producción
Con la CSP aplicada, una actualización de tema o de módulo puede cargar un dominio nuevo. El módulo detecta los recursos realmente bloqueados que nunca se habían visto y envía un email a los destinatarios elegidos, como máximo una vez por hora. Cada cambio de ajustes se conserva con el empleado que lo hizo y las diferencias con el estado actual: si una página se rompe, la versión anterior se restaura con un clic.
Desde PrestaShop en lugar del servidor
Las cabeceras se envían por PHP al inicio de cada petición, en el front y, si lo desea, en el back-office. No hace falta acceso SSH ni archivo .htaccess, lo que conviene a los alojamientos compartidos. Si su hosting o Cloudflare ya añade cabeceras, el escáner integrado señala los duplicados. Y si al final prefiere que el servidor gestione las cabeceras, el módulo genera los bloques Apache y Nginx correspondientes.
No hay valoraciones aún.