API Rate Limiting
Protege APIs del abuso con limitación de tasa configurable usando ventanas deslizantes, cubos de tokens o ventanas fijas.
Descripción General
La biblioteca soporta limitación de tasa de ventana fija por defecto, donde cada cliente obtiene un número establecido de solicitudes por ventana de tiempo. Para algoritmos más sofisticados como ventanas deslizantes o cubos de tokens, paquetes complementarios como rate-limit-redis y rate-limit-flexible proporcionan implementaciones avanzadas de almacén. Puedes configurar diferentes límites para diferentes rutas, omitir ciertas solicitudes y personalizar la respuesta cuando se exceden los límites.
La limitación de tasa es esencial para la seguridad API, previniendo ataques de fuerza bruta en endpoints de autenticación, mitigación DDoS y protección contra scraping. Las mejores prácticas incluyen establecer límites más estrictos en endpoints sensibles (login, reset de contraseña), usar retrasos progresivos y proporcionar headers de rate limit para que los clientes puedan autorregularse.
¿Para Quién Es?
- Limitar intentos de login para prevenir ataques de fuerza bruta
- Throttle endpoints API públicos por API key
- Establecer diferentes límites de tasa para niveles API gratuitos vs pagos
- Agregar limitación de tasa con almacén Redis para servidores distribuidos
Instalación
npm install express-rate-limit Configuración
import rateLimit from "express-rate-limit"
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 minutes
limit: 100, // max 100 requests per window
standardHeaders: "draft-7",
legacyHeaders: false,
message: { error: "Too many requests, please try again later." },
})
app.use("/api/", limiter) Explora herramientas de IA
Las mejores herramientas de IA que complementan tus habilidades
Lee artículos sobre IA y diseño
Consejos y tendencias en el mundo del diseño y la IA
Servidores Relacionados
Snyk Security Scan
Analiza dependencias y código en busca de vulnerabilidades conocidas y sugiere correcciones automáticas.
SonarQube Code Quality
Análisis integral de calidad de código para detectar patrones problemáticos, código duplicado y complejidad excesiva.
OWASP ZAP Security Testing
Escaneo automático de aplicaciones web para detectar las diez vulnerabilidades más comunes de OWASP.