Come valutare le applicazioni Limit Express

Come valutare le applicazioni Limit Express

La limitazione della velocità è una strategia che puoi utilizzare per controllare il traffico su una rete. Limita il numero di richieste che un utente può effettuare entro un intervallo di tempo specifico.





Esistono vari algoritmi di limitazione della velocità, ciascuno con i propri compromessi. Un metodo semplice e popolare consiste nel tenere traccia degli indirizzi IP delle richieste e controllare quanto tempo trascorre tra le richieste. Il sistema può quindi negare una richiesta se il suo indirizzo IP supera il numero di richieste consentito dal limite.





FARE USO DEL VIDEO DEL GIORNO

Questo approccio alla limitazione della velocità è facile da costruire in un'app NodeJS-Express, con pochi passaggi.





Passaggio 1: creazione di un ambiente di sviluppo

Innanzitutto, dovrai creare e inizializzare un'applicazione Express.

Inizia creando una directory di progetto eseguendo:



mkdir express-app 

Quindi inserisci quella directory eseguendo:

cd express-app 

Quindi, inizializza npm, il gestore di pacchetti del nodo, e creare un pacchetto.json file nella tua applicazione eseguendo:





come recuperare la serie di snapchat
npm init -y 

Il -Y flag creerà il tuo pacchetto.json file con tutte le impostazioni predefinite.

Successivamente, dovrai installare alcune dipendenze. Le dipendenze richieste per questo tutorial sono:





  • ExpressJS: ExpressJS è un framework NodeJS che fornisce un solido set di funzionalità per applicazioni Web e mobili. Semplifica il processo di creazione di applicazioni back-end con NodeJS.
  • Limite di tariffa espresso : Express rate limit è un middleware di limitazione della velocità per ExpressJS. Limita le richieste ripetute alle API pubbliche e/o agli endpoint, come reimpostazioni di password, accessi utente, ecc.

Installa le dipendenze richieste eseguendo:

npm install express express-rate-limit

Passaggio 2: creazione di un'applicazione rapida

Dovrai creare un server Express di base che ascolti le richieste inviate alla tua applicazione.

Innanzitutto, crea un index.js file nella directory principale del tuo progetto. Questo sarà il file di ingresso per la tua domanda.

Quindi, aggiungi il seguente codice al tuo index.js file:

// index.js 
const express = require("express");
const app = express();
const port = process.env.PORT || 3000

app.listen(port, () => {
console.log(`App running on port ${port}`);
});

Questo codice importa esprimere e crea un'applicazione Express chiamando express() e memorizzando il suo valore di ritorno in app variabile. Quindi ascolta il traffico sulla porta 3000 chiamando il ascoltare metodo sul app oggetto.

Passaggio 3: creazione di gestori di percorso

Quindi, crea alcuni gestori di percorso su cui puoi implementare la soluzione di limitazione della velocità.

Innanzitutto, crea una cartella, percorsi, nella directory principale del tuo progetto eseguendo:

mkdir routes 

Crea un file, rotte.js , all'interno della cartella dei percorsi e aggiungi il seguente codice:

const express = require("express"); 
const router = express.Router();

router.get("/", (req, res) => {
res.send({ message: "Hello, this is a GET request" });
});

router.post("/add-demo", (req, res) => {
res.status(201).send({ message: "Resource created successfully" });
});

router.put("/update-demo", (req, res) => {
res.status(201).send({ message: "Resource updated sucessfully" });
});

module.exports = router;

Questo codice importa esprimere , chiama il Router metodo attivo esprimere e memorizza il valore in una variabile, router . Il Router Il metodo consente di creare gestori di percorsi modulari e montabili. È possibile creare gestori di route per a OTTENERE richiesta a “ / ', un INVIARE richiesta a “ /aggiungi-demo ”, e a METTERE richiesta a “ /aggiornamento-demo ”. Infine, esporta il router variabile.

Quindi, importa il router variabile nel tuo index.js file:

// index.js 
const routes = require("./routes/routes");

Quindi, usalo come middleware nel tuo file index.js:

// index.js 
app.use(routes);