विवरण
दिन-प्रतिदिन वेबसाइटों को DOS और DDOS हमलों से बचाने के लिए रेट-लिमिटिंग महत्वपूर्ण होता जा रहा है। रेट-लिमिटिंग सिस्टम को किसी भी प्रकार के नकली अनुरोधों या अन्य ब्रूट फोर्स हमलों से बचाता है। रेट लिमिटिंग एक IP द्वारा किए जा सकने वाले अनुरोधों की संख्या को सीमित करता है। express-rate-limit एक npm पैकेज है जो उपयोगकर्ता से अनुरोधों की संख्या को सीमित करता है।
रेट-लिमिट मॉड्यूल स्थापित करना
अपने एप्लिकेशन में एक्सप्रेस रेट-लिमिटिंग मॉड्यूल स्थापित करने के लिए नीचे दी गई कमांड चलाएं।
npm install --save express-rate-limit
उदाहरण
rateLimit.js नाम से एक फ़ाइल बनाएं और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें:
node rateLimit.js
rateLimit.js
// एक्सप्रेस निर्भरता आयात करें const express = require("express"); // एक्सप्रेस-रेट-लिमिट निर्भरता आयात करें const rateLimit = require("express-rate-limit"); // एक्सप्रेस फ़ंक्शन को वेरिएबल एप्लिकेशन में संग्रहीत करें const applicaion = express(); // अपने विकल्पों के साथ रेटलिमिटर फ़ंक्शन को कॉल करें // max: अधिकतम अनुरोधों की संख्या // windowMs: अधिकतम अनुरोध प्राप्त करने के लिए मिलीसेकंड में समय // message: रेट-लिमिट पर उपयोगकर्ता को दिखाया जाने वाला संदेश const limiter = rateLimit({ max: 5, windowMs: 60 * 60 * 1000, message: "Too many request from this IP" }); // रेट-लिमिट फ़ंक्शन को एक्सप्रेस मिडलवेयर में जोड़ें ताकि // प्रत्येक अनुरोध निष्पादित होने से पहले इस सीमा से गुजरे applicaion.use(limiter); // उपयोगकर्ता अनुरोधों को संभालने के लिए GET रूट applicaion.get("/", (req, res) => { res.status(200).json({ status: "SUCCESS", message: "Welcome to TutorialsPoint !" }); }); // सर्वर सेटअप const port = 8000; applicaion.listen(port, () => { console.log(`app is running on port ${port}`); });आउटपुट
C:\home\node>> node rateLimit.js
Node एप्लिकेशन चलाने के बाद, अपने ब्राउज़र पर जाएं और localhost:8000 पर हिट करें।
आप नीचे दिखाए गए समान पेज देखेंगे।

उसी URL को 5 से अधिक बार हिट या रीफ्रेश करने का प्रयास करें और आपको नीचे दी गई त्रुटि प्राप्त होगी।
