La boucle for...in js : La boucle for... in peut exécuter des commandes à plusieurs reprises. La boucle for... in est couramment utilisée pour la manipulation d'objet.
Apprenez la limitation de débit avec ExpressJS dans ce tutoriel simple pour débutants. Protégez votre serveur des abus
Dans ce tutoriel, nous allons apprendre à limiter le débit (rate limiting) dans une application ExpressJS, c’est-à-dire contrôler le nombre de requêtes qu’un utilisateur peut faire dans un certain temps pour éviter les abus ou les attaques. Ce guide est conçu pour les débutants : nous irons doucement, étape par étape, avec des explications très simples et un exemple que vous pourrez tester. Nous utiliserons express-rate-limit pour simplifier cette tâche.
La limitation de débit, c’est comme un portier qui dit "Pas trop vite !" aux visiteurs. Si quelqu’un envoie trop de requêtes (par exemple, pour surcharger votre serveur ou essayer de deviner un mot de passe), on peut le bloquer temporairement. Avec ExpressJS, express-rate-limit
agit comme ce portier, en fixant une limite claire et automatique.
Avant de coder, préparons tout ce qu’il faut. Si vous avez suivi les tutoriels précédents, vous avez déjà Node.js et ExpressJS. Voici les étapes :
node -v
. Si une version apparaît (ex. : v16.13.0), c’est bon. Sinon, téléchargez Node.js sur nodejs.org.cd chemin/vers/debit-limitation
, puis tapez npm init -y
. Cela crée un fichier package.json
.npm install express express-rate-limit
. express-rate-limit
gère la limitation pour nous.Construisons une application simple avec une route limitée à quelques requêtes par minute.
Créez un fichier nommé app.js
dans votre dossier "debit-limitation" et ajoutez ce code :
var express = require('express'); var rateLimit = require('express-rate-limit'); var app = express(); // Configurer la limitation de débit var limiter = rateLimit({ windowMs: 60 * 1000, // 1 minute max: 5, // 5 requêtes maximum par IP message: 'Trop de requêtes ! Réessayez dans une minute.' }); // Appliquer la limitation à toutes les routes app.use(limiter); // Route principale app.get('/', function(req, res) { res.send('Bonjour ! Cette route est limitée à 5 visites par minute.'); }); // Route de test app.get('/test', function(req, res) { res.send('Page de test limitée aussi !'); }); app.listen(3000, function() { console.log('Serveur démarré sur http://localhost:3000'); });
Voici chaque partie expliquée très simplement pour les débutants :
windowMs: 60 * 1000
: Fenêtre de temps de 1 minute (en millisecondes).max: 5
: Maximum 5 requêtes par IP dans cette fenêtre.message: ...
: Message affiché quand la limite est dépassée.Démarrez le serveur avec node app.js
dans le terminal, puis testez :
Attendez une minute, puis réessayez : la limite se réinitialise, et vous pouvez visiter à nouveau.
Félicitations ! Vous savez maintenant limiter le débit avec ExpressJS et express-rate-limit
. Votre application est protégée contre les abus ou les attaques par surcharge. Pour aller plus loin, explorez notre prochain tutoriel sur Ralentissement des Réponses avec ExpressJS ou consultez la documentation express-rate-limit.