Problèmes résolus: - Polling toutes les 3s vers /api/llm/limit (1200 req/h par user) - Rate limiters par IP bloquaient légitimement les traductions - globalLimiter (200/15min) et translationLimiter (10/min) redondants Changements: - Suppression setInterval 3s dans index.html - Mise à jour compteur LLM uniquement après traductions - Suppression globalLimiter et translationLimiter - Garde uniquement checkLLMLimit() (par API key, 20/jour) - Fix affichage: utilise data.remaining de l'API Résultat: système de quotas simple, clair et fonctionnel 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
17 lines
508 B
JavaScript
17 lines
508 B
JavaScript
const rateLimit = require('express-rate-limit');
|
|
|
|
// Rate limiter pour les endpoints sensibles (admin)
|
|
// Note: Pour les traductions et requêtes LLM, on utilise checkLLMLimit() dans auth.js
|
|
// qui gère les limites par API key (plus flexible et précis que les rate limiters par IP)
|
|
const adminLimiter = rateLimit({
|
|
windowMs: 5 * 60 * 1000, // 5 minutes
|
|
max: 50,
|
|
standardHeaders: true,
|
|
legacyHeaders: false,
|
|
message: { error: 'Too many admin requests.' }
|
|
});
|
|
|
|
module.exports = {
|
|
adminLimiter
|
|
};
|