25 lines
683 B
TypeScript
25 lines
683 B
TypeScript
import rateLimit from 'express-rate-limit';
|
|
|
|
const apiLimiter = rateLimit({
|
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
max: 1000, // Limite chaque IP à 200 requêtes par fenêtre
|
|
standardHeaders: true,
|
|
legacyHeaders: false,
|
|
message: {
|
|
error: "Trop de requêtes, veuillez réessayer plus tard."
|
|
}
|
|
});
|
|
|
|
export const loginLimiter = rateLimit({
|
|
windowMs: 15 * 60 * 1000, // 15 minutes
|
|
max: 5, // 5 tentatives échouées max par IP par fenêtre
|
|
skipSuccessfulRequests: true,
|
|
standardHeaders: true,
|
|
legacyHeaders: false,
|
|
message: {
|
|
error: "Trop de tentatives. Réessayez dans 15 minutes."
|
|
}
|
|
});
|
|
|
|
export default apiLimiter;
|