DOS এবং DDOS আক্রমণ থেকে ওয়েবসাইটগুলিকে প্রতিরোধ করতে রেট-সীমিতকরণ দিন দিন গুরুত্বপূর্ণ হয়ে উঠছে৷ হার-সীমিতকরণ সিস্টেমটিকে যেকোন ধরণের জাল অনুরোধ বা অন্যান্য নৃশংস বল আক্রমণ থেকে বাধা দেয়। রেট সীমিত করা একটি আইপি কতবার অনুরোধ করতে পারে তা সীমাবদ্ধ করে। এক্সপ্রেসরেট-সীমা হল এনপিএম প্যাকেজ যা ব্যবহারকারীর অনুরোধের সংখ্যা সীমিত করে।
রেট-সীমা মডিউল ইনস্টল করা হচ্ছে
আপনার অ্যাপ্লিকেশনে এক্সপ্রেস রেট-লিমিটিং মডিউল ইনস্টল করতে নীচের কমান্ডটি চালান।
npm install --save express-rate-limit
উদাহরণ
নাম দিয়ে একটি ফাইল তৈরি করুন – rateLimit.js এবং নিচের কোড স্নিপেটটি কপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −
node rateLimit.js
rateLimit.js
// Importing the express dependency const express = require("express"); // Importing the express-rate-limit dependency const rateLimit = require("express-rate-limit"); // Storing the express function in variable application const applicaion = express(); // Calling the ratelimiter function with its options // max: Contains the maximum number of requests // windowsMs: Contains the time in milliseconds to receive max requests // message: message to be shown to the user on rate-limit const limiter = rateLimit({ max: 5, windowMs: 60 * 60 * 1000, message: "Too many request from this IP" }); // Adding the rate-limit function to the express middleware so // that each requests passes through this limit before executing applicaion.use(limiter); // GET route for handling the user requests applicaion.get("/", (req, res) => { res.status(200).json({ status: "SUCCESS", message: "Welcome to TutorialsPoint !" }); }); // Server Setup const port = 8000; applicaion.listen(port, () => { console.log(`app is running on port ${port}`); });
আউটপুট
C:\home\node>> node rateLimit.js
নোড অ্যাপ্লিকেশন চালানোর পরে, আপনার ব্রাউজারে যান এবং স্থানীয় হোস্ট:8000
টিপুনআপনি নীচের মত একটি অনুরূপ পৃষ্ঠা দেখতে পাবেন.
একই URL 5 বারের বেশি হিট বা রিফ্রেশ করার চেষ্টা করুন এবং আপনি নীচের ত্রুটিটি পাবেন৷