Node.js es un entorno de tiempo de ejecución multiplataforma y de código abierto basado en el motor JavaScript V8 de Chrome para ejecutar código JavaScript fuera de un navegador. Debe recordar que NodeJS no es un marco y no es un lenguaje de programación. Proporciona un entorno de tiempo de ejecución multiplataforma y de E/S sin bloqueo (asincrónico) basado en eventos para crear aplicaciones del lado del servidor altamente escalables mediante JavaScript.
En este artículo, aprenderemos sobre el límite de Express-Rate.
Límite de velocidad exprés: la limitación de velocidad evita que la misma dirección IP realice demasiadas requests, lo que nos ayudará a prevenir ataques como la fuerza bruta.
Dependencia requerida:
npm install express-rate-limit
Configuración del proyecto: ejecute los siguientes conjuntos de comandos para crear una carpeta e inicializar el proyecto.
mkdir test-project cd test-project npm init -y
Estructura del proyecto:
Ejemplo: escriba el siguiente código en el archivo App.js.
Javascript
// Express is node framework that helps // in setting up the server and routing. const express = require("express"); // The express-rate-limit is for // limiting the incoming request. const rateLimit = require("express-rate-limit"); // App variable store the express module. const app = express(); // Creating a limiter by calling rateLimit function with options: // max contains the maximum number of request and windowMs // contains the time in millisecond so only max amount of // request can be made in windowMS time. const limiter = rateLimit({ max: 200, windowMs: 60 * 60 * 1000, message: "Too many request from this IP" }); // Add the limiter function to the express middleware // so that every request coming from user passes // through this middleware. app.use(limiter); // GET route to handle the request coming from user app.get("/", (req, res) => { res.status(200).json({ status: "success", message: "Hello from the GeeksforGeeks express server" }); }); // Server Setup const port = 8000; app.listen(port, () => { console.log(`app is running on port ${port}`); });
Pasos para ejecutar la aplicación: Ejecute el siguiente comando en la terminal:
node app.js
Salida: Veremos la siguiente salida en la pantalla del terminal.
app is running on http://localhost:8000/
- Salida cuando una solicitud no excede el límite máximo del limitador de velocidad:
- Salida cuando una solicitud excede el límite máximo del limitador de velocidad:
Publicación traducida automáticamente
Artículo escrito por nikitamehrotra99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA