Hur man betygsätter Limit Express-applikationer

Hur man betygsätter Limit Express-applikationer

Hastighetsbegränsning är en strategi som du kan använda för att kontrollera trafiken på ett nätverk. Det begränsar antalet förfrågningar som en användare kan göra inom en viss tidsram.





Olika hastighetsbegränsande algoritmer finns, var och en med sina egna avvägningar. En enkel och populär metod är att spåra förfrågningars IP-adresser och kontrollera hur lång tid som går mellan förfrågningar. Systemet kan sedan neka en begäran om dess IP-adress överstiger antalet förfrågningar som gränsen tillåter.





MAKEUSE AV DAGENS VIDEO

Detta tillvägagångssätt för hastighetsbegränsning är lätt att bygga i en NodeJS-Express-app, med bara några få steg.





Steg 1: Konfigurera en utvecklingsmiljö

Först måste du skapa och initiera en Express-applikation.

Windows 10 file explorer mörkt läge

Börja med att skapa en projektkatalog genom att köra:



mkdir express-app 

Ange sedan den katalogen genom att köra:

cd express-app 

Initiera sedan npm, nodpakethanteraren, och skapa en package.json fil i din applikation genom att köra:





npm init -y 

De -Y flaggan kommer att skapa din package.json fil med alla standardinställningar.

Därefter måste du installera vissa beroenden. De beroenden som krävs för denna handledning är:





  • ExpressJS: ExpressJS är ett NodeJS-ramverk som ger en robust uppsättning funktioner för webb- och mobilapplikationer. Det förenklar processen att bygga backend-applikationer med NodeJS.
  • Express Rate Limit : Express rate limit är en hastighetsbegränsande mellanprogramvara för ExpressJS. Det begränsar upprepade förfrågningar till offentliga API:er och/eller slutpunkter, såsom lösenordsåterställning, användarinloggning, etc.

Installera nödvändiga beroenden genom att köra:

npm install express express-rate-limit

Steg 2: Skapa en Express-applikation

Du måste skapa en grundläggande Express-server som lyssnar på förfrågningar som görs till din applikation.

Skapa först en index.js filen i ditt projekts rotkatalog. Detta kommer att vara inmatningsfilen för din ansökan.

Lägg sedan till följande kod till din index.js fil:

wifi snabbare på telefonen än bärbar dator
// 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}`);
});

Denna kod importerar uttrycka och skapar en Express-applikation genom att anropa express() och lagra dess returvärde i app variabel. Den lyssnar sedan efter trafik i hamn 3000 genom att ringa till lyssna metod på app objekt.

Steg 3: Skapa rutthanterare

Skapa sedan några rutthanterare som du kan implementera den hastighetsbegränsande lösningen på.

Skapa först en mapp, rutter, i ditt projekts rotkatalog genom att köra:

mkdir routes 

Skapa en fil, routes.js , i din ruttermapp och lägg till följande kod:

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;

Denna kod importerar uttrycka , kallar Router metod på uttrycka , och lagrar värdet i en variabel, router . De Router metoden låter dig skapa modulära, monterbara rutthanterare. Du kan skapa rutthanterare för en SKAFFA SIG begära att ' / ', a POSTA begära att ' /add-demo ', och en SÄTTA begära att ' /update-demo ”. Exportera slutligen router variabel.

Importera sedan router variabel i din index.js fil:

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

Använd den sedan som mellanprogram i din index.js-fil:

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