दर सीमित करना एक रणनीति है जिसका उपयोग आप नेटवर्क पर यातायात को नियंत्रित करने के लिए कर सकते हैं। यह उन अनुरोधों की संख्या को सीमित करता है जो एक उपयोगकर्ता एक विशिष्ट समय सीमा के भीतर कर सकता है।
विभिन्न दर सीमित करने वाले एल्गोरिदम मौजूद हैं, जिनमें से प्रत्येक का अपना ट्रेड-ऑफ है। अनुरोधों के आईपी पते को ट्रैक करना और अनुरोधों के बीच कितना समय व्यतीत होता है, इसकी जांच करना एक सरल और लोकप्रिय तरीका है। सिस्टम तब अनुरोध को अस्वीकार कर सकता है यदि उसका आईपी पता सीमा की अनुमति के अनुरोधों की संख्या से अधिक है।
दिन का मेकअप वीडियो
NodeJS-Express ऐप में रेट लिमिटिंग के लिए यह दृष्टिकोण बनाना आसान है, बस कुछ ही चरणों के साथ।
मैक पर ब्लूटूथ कैसे चालू करें
चरण 1: एक विकास वातावरण स्थापित करना
सबसे पहले, आपको एक एक्सप्रेस एप्लिकेशन बनाना और प्रारंभ करना होगा।
प्रोजेक्ट निर्देशिका बनाकर प्रारंभ करें:
mkdir express-app
फिर उस निर्देशिका को चलाकर दर्ज करें:
cd express-app
अगला, प्रारंभ करें npm, नोड पैकेज मैनेजर, और एक बनाएं पैकेज.जेसन चलाकर अपने आवेदन में फ़ाइल करें:
npm init -y
-Y झंडा बना देगा तुम्हारा पैकेज.जेसन सभी डिफ़ॉल्ट सेटिंग्स के साथ फ़ाइल।
इसके बाद, आपको कुछ निर्भरताएँ स्थापित करने की आवश्यकता होगी। इस ट्यूटोरियल के लिए आवश्यक निर्भरताएँ हैं:
एक नया ssd कैसे सेट करें
- एक्सप्रेसजेएस: एक्सप्रेसजेएस एक नोडजेएस ढांचा है जो वेब और मोबाइल एप्लिकेशन के लिए सुविधाओं का एक मजबूत सेट प्रदान करता है। यह NodeJS के साथ बैकएंड अनुप्रयोगों के निर्माण की प्रक्रिया को सरल करता है।
- एक्सप्रेस दर सीमा : एक्सप्रेस दर सीमा एक्सप्रेसजेएस के लिए दर-सीमित मिडलवेयर है। यह सार्वजनिक एपीआई और/या एंडपॉइंट, जैसे पासवर्ड रीसेट, उपयोगकर्ता लॉगिन, आदि के लिए बार-बार अनुरोधों को सीमित करता है।
चलाकर आवश्यक निर्भरताएँ स्थापित करें:
npm install express express-rate-limit
चरण 2: एक एक्सप्रेस एप्लिकेशन बनाना
आपको एक मूल एक्सप्रेस सर्वर बनाना होगा जो आपके आवेदन के लिए किए जा रहे अनुरोधों को सुनता है।
सबसे पहले, एक बनाएं index.js अपने प्रोजेक्ट की रूट डायरेक्टरी में फाइल करें। यह आपके आवेदन के लिए प्रवेश फ़ाइल होगी।
इसके बाद, निम्नलिखित कोड को अपने में जोड़ें index.js फ़ाइल:
// 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}`);
});
यह कोड आयात करता है अभिव्यक्त करना और एक्सप्रेस () को कॉल करके और इसके रिटर्न वैल्यू को स्टोर करके एक एक्सप्रेस एप्लिकेशन बनाता है अनुप्रयोग चर। यह तब पोर्ट . पर यातायात के लिए सुनता है 3000 कॉल करके सुनना पर विधि अनुप्रयोग वस्तु।
चरण 3: रूट हैंडलर बनाना
इसके बाद, कुछ रूट हैंडलर बनाएं जिन पर आप दर-सीमित समाधान लागू कर सकते हैं।
सबसे पहले, अपने प्रोजेक्ट की रूट डायरेक्टरी में एक फोल्डर, रूट बनाएं:
mkdir routes
एक फ़ाइल बनाएँ, मार्ग.जेएस , अपने मार्ग फ़ोल्डर के अंदर और निम्नलिखित कोड जोड़ें:
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;
यह कोड आयात करता है अभिव्यक्त करना , कॉल करता है रूटर विधि चालू अभिव्यक्त करना , और मान को एक चर में संग्रहीत करता है, रूटर . रूटर विधि आपको मॉड्यूलर, माउंट करने योग्य रूट हैंडलर बनाने देती है। आप a . के लिए रूट हैंडलर बना सकते हैं प्राप्त का अनुरोध ' / ', एक पद का अनुरोध ' /ऐड-डेमो ”, और ए रखना का अनुरोध ' /अपडेट-डेमो ' अंत में, निर्यात करें रूटर चर।
यूएसबी टाइप सी बनाम टाइप ए
अगला, आयात करें रूटर आपके में परिवर्तनशील index.js फ़ाइल:
// index.js
const routes = require("./routes/routes");
फिर, इसे अपनी index.js फ़ाइल में मिडलवेयर के रूप में उपयोग करें:
// index.js
app.use(routes);