Seguridad, Validación Estricta y Limitación de Peticiones (Rate Limiting)
Protege tu tienda contra ataques DDoS, intentos de fuerza bruta y bots maliciosos mediante algoritmos avanzados en Redis.
1. Arquitectura de Limitación de Peticiones con Redis
Las solicitudes entrantes por IP se evalúan sin latencia en la memoria ultra rápida de Redis usando el algoritmo de Ventana Deslizante (Sliding Window).
- Rutas Sensibles de API: Para evitar ataques de fuerza bruta, las peticiones de autenticación y pago se limitan a 5 por minuto.
- Navegación General: Límites amplios que permiten a los usuarios navegar y consultar productos con total fluidez.
2. Políticas de Seguridad y Protección en el Edge con Caddy
El servidor Caddy actúa como primera línea defensiva con cifrado automático TLS 1.3 y certificados SSL gestionados.
Protección en Rutas de Pago
Seguridad de Nivel Bancario
Aislamiento de endpoints de pago y validación criptográfica de firmas en webhooks entrantes.
Saneamiento y Validación de Entradas
Esquemas Estrictos con Zod
Validación de formularios con Zod para prevenir inyecciones SQL y ataques Cross-Site Scripting (XSS).
Implementación de Rate Limiting en Rutas de API
typescript// ── OTP request: phone (POST /auth/customer/phone-auth) ───────────────{ method: "POST", matcher: "/auth/customer/phone-auth", middlewares: [ createRateLimitMiddleware({ maxAttempts: 3, windowMs: 60 * 60 * 1000, // 1 hour countOn: "success", // only count actual OTP sends message: "Too many OTP requests. Please try again later.", }), ],},// ── OTP register: phone ───────────────────────────────────────────────{ method: "POST", matcher: "/auth/customer/phone-register", middlewares: [ createRateLimitMiddleware({ maxAttempts: 5, windowMs: 30 * 60 * 1000, // 30 minutes countOn: "failure", // only penalize wrong codes message: "Too many failed attempts. Please try again later.", }), ],},Ventajas del Almacenamiento en Memoria de Redis
El contador de peticiones se almacena en la RAM de Redis dentro de Docker, garantizando comprobaciones en microsegundos incluso bajo alto tráfico.