🔍 Riesgos comunes y raros al modificar encabezados en .htaccess
🔴 Problemas comunes
CSS y JS dejan de cargarse
Si configuras mal
Content-Security-Policy
, podrías bloquear tus propios archivos de estilos y scripts.Solución: Asegúrate de incluir
'self'
y otros dominios permitidos enscript-src
ystyle-src
.
Fuentes personalizadas no cargan
Bloquear
font-src
en CSP puede hacer que las fuentes de Google u otros servidores no se muestren.Solución: Añadir
'self'
y dominios de fuentes afont-src
.
Imágenes rotas
Un
CORS
mal configurado puede bloquear la carga de imágenes desde servidores externos.
Errores en API y conexiones a servicios externos
Si
Permissions-Policy
oCSP
bloquean conexiones a APIs externas, integraciones como Google Maps o Facebook Login pueden fallar.
🛑 Riesgos raros pero posibles
Desindexación de la web en Google
Un
X-Robots-Tag: noindex
mal colocado en.htaccess
puede hacer que Google deje de indexar tu sitio.
Problemas con WebSockets y aplicaciones en tiempo real
Servicios como chats en vivo o notificaciones push pueden bloquearse si los encabezados restringen
connect-src
.
Conflictos con plugins de caché
Algunas configuraciones de
Cache-Control
en.htaccess
pueden entrar en conflicto con plugins como WP Rocket o W3 Total Cache, afectando la velocidad del sitio.
Errores en navegadores antiguos
Algunos encabezados modernos, como
Permissions-Policy
, pueden no ser reconocidos por navegadores más antiguos y generar problemas inesperados.
🚨 ¿Por qué podrían dejar de funcionar las pasarelas de pago?
Muchas pasarelas de pago dependen de scripts externos y redirecciones seguras. Un mal ajuste en los encabezados puede bloquear estas funciones, provocando errores en el proceso de pago.
🔴 Encabezados problemáticos para pasarelas de pago:
Content-Security-Policy (CSP) mal configurado
Si bloquea scripts o iframes de proveedores externos como Stripe, PayPal o Redsys, la pasarela no podrá cargar.
Ejemplo: Un CSP demasiado restrictivo que solo permite
'self'
bloquearía scripts destripe.com
.Solución: Incluir los dominios necesarios en
script-src
yframe-src
.
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' https://js.stripe.com; frame-src 'self' https://js.stripe.com"
Referrer-Policy muy restrictivo
Algunas pasarelas necesitan saber de qué página viene el usuario para validar la transacción.
Si usas
no-referrer
, podrías bloquear esta comunicación.Solución: Usa
strict-origin-when-cross-origin
.
Header always set Referrer-Policy "strict-origin-when-cross-origin"
X-Frame-Options con 'DENY'
Si la pasarela de pago se carga en un iframe, este encabezado podría bloquearlo.
Solución: Usa
SAMEORIGIN
o permite el dominio de la pasarela.
Header always set X-Frame-Options "SAMEORIGIN"
🔧 Cómo evitar problemas
✔ Haz una copia de seguridad antes de modificar .htaccess.
✔ Prueba en un entorno de prueba antes de aplicar cambios en producción.
✔ Usa herramientas como Security Headers y CSP Evaluator para verificar tu configuración.
✔ Revisa si tu pasarela de pago tiene requisitos específicos sobre encabezados HTTP.