Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Node.js में Express-rate-limit को एकीकृत करना

विवरण

दिन-प्रतिदिन वेबसाइटों को 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 पर हिट करें।

आप नीचे दिखाए गए समान पेज देखेंगे।

Node.js में Express-rate-limit को एकीकृत करना

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

Node.js में Express-rate-limit को एकीकृत करना

  1. JavaScript Hello World: आपका पहला प्रोग्राम JavaScript Hello World: आपका पहला प्रोग्राम

    यह सुनिश्चित करने के लिए कि आपका Node वर्जन काम करता है, आप जो सबसे पहला प्रोग्राम लिख सकते हैं वह है Hello World प्रोग्राम। प्रोग्राम बनाने के दो तरीके हैं: टर्मिनल में या अपनी पसंद के कोड एडिटर में (यानी Visual Studio Code, Vim, आदि)। शुरू करने के लिए सुनिश्चित करें कि आपके मशीन पर Node इंस्टॉल है

  1. जावास्क्रिप्ट में बाइनरी ट्री जावास्क्रिप्ट में बाइनरी ट्री

    बाइनरी ट्री डेटा स्टोरेज उद्देश्यों के लिए उपयोग की जाने वाली एक विशेष डेटा संरचना है। बाइनरी ट्री में एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो चाइल्ड हो सकते हैं। बाइनरी ट्री में एक क्रमबद्ध ऐरे और एक लिंक्ड लिस्ट दोनों के लाभ होते हैं क्योंकि सर्च क्रमबद्ध ऐरे की तरह तेज़ होता है और इं

  1. जावास्क्रिप्ट में प्रिम एल्गोरिदम जावास्क्रिप्ट में प्रिम एल्गोरिदम

    प्रिम का एल्गोरिदम एक लालची एल्गोरिदम है जो वेटेड अनडायरेक्टेड ग्राफ के लिए न्यूनतम स्पैनिंग ट्री ढूंढता है। यह एजेज का एक सबसेट ढूंढता है जो एक ट्री बनाता है जिसमें हर वर्टेक्स शामिल होता है, जहां ट्री में सभी एजेज का कुल वजन न्यूनतम होता है। एल्गोरिदम एक मनमाने शुरुआती वर्टेक्स से, एक समय में एक