Obmedzenie rýchlosti je stratégia, ktorú môžete použiť na riadenie prevádzky v sieti. Obmedzuje počet žiadostí, ktoré môže používateľ podať v určitom časovom rámci.
Existujú rôzne algoritmy na obmedzenie rýchlosti, z ktorých každý má svoje vlastné kompromisy. Jednou jednoduchou a populárnou metódou je sledovať adresy IP žiadostí a kontrolovať, koľko času uplynie medzi žiadosťami. Systém potom môže odmietnuť požiadavku, ak jeho IP adresa prekročí povolený počet požiadaviek.
VYUŽITIE VIDEA DŇA
Tento prístup k obmedzeniu sadzieb sa dá ľahko vytvoriť v aplikácii NodeJS-Express pomocou niekoľkých krokov.
Krok 1: Nastavenie vývojového prostredia
Najprv budete musieť vytvoriť a inicializovať aplikáciu Express.
Začnite vytvorením projektového adresára spustením:
mkdir express-app
Potom zadajte tento adresár spustením:
cd express-app
Ďalej inicializujte npm, správca balíkov uzlov, a vytvorte a package.json súbor vo vašej aplikácii spustením:
npm init -y
The -Y vlajka vytvorí váš package.json súbor so všetkými predvolenými nastaveniami.
Ďalej budete musieť nainštalovať nejaké závislosti. Závislosti požadované pre tento tutoriál sú:
- ExpressJS: ExpressJS je rámec NodeJS ktorý poskytuje robustnú sadu funkcií pre webové a mobilné aplikácie. Zjednodušuje proces vytvárania backendových aplikácií s NodeJS.
- Expresný limit sadzby : Express rate limit je middleware obmedzujúci rýchlosť pre ExpressJS. Obmedzuje opakované požiadavky na verejné rozhrania API a/alebo koncové body, ako je obnovenie hesla, prihlásenie používateľov atď.
Nainštalujte požadované závislosti spustením:
npm install express express-rate-limit
Krok 2: Vytvorenie expresnej aplikácie
Budete musieť vytvoriť základný expresný server, ktorý počúva požiadavky odosielané do vašej aplikácie.
prečo sa tomu hovorí šmolkovský účet
Najprv vytvorte index.js súbor v koreňovom adresári vášho projektu. Toto bude vstupný súbor pre vašu aplikáciu.
Ďalej pridajte nasledujúci kód do svojho index.js súbor:
// 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}`);
});
Tento kód importuje expresné a vytvorí expresnú aplikáciu volaním express() a uložením jej návratovej hodnoty do aplikácie premenlivý. Potom počúva prevádzku na porte 3000 zavolaním na počúvaj metóda na aplikácie objekt.
Krok 3: Vytvorenie obslužných programov trasy
Ďalej vytvorte nejaké obslužné nástroje trasy, na ktorých môžete implementovať riešenie obmedzujúce rýchlosť.
Najprv vytvorte priečinok, trasy, v koreňovom adresári projektu spustením:
mkdir routes
Vytvorte súbor, routes.js , do priečinka trás a pridajte nasledujúci kód:
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;
Tento kód importuje expresné , volá Router metóda zapnutá expresné a uloží hodnotu do premennej, router . The Router metóda vám umožňuje vytvárať modulárne, pripojiteľné obslužné nástroje smerovania. Môžete vytvoriť obslužné nástroje trasy pre a GET žiadosť o „ / “, a POST žiadosť o „ /add-demo “ a a PUT žiadosť o „ /update-demo “. Nakoniec exportujte router premenlivý.
Ďalej importujte súbor router premenná vo vašom index.js súbor:
// index.js
const routes = require("./routes/routes");
Potom ho použite ako middleware v súbore index.js:
// index.js
app.use(routes);