কম্পিউটার

Node.js-এ এক্সপ্রেস-রেট-সীমা সংহত করা


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

টিপুন

আপনি নীচের মত একটি অনুরূপ পৃষ্ঠা দেখতে পাবেন.

Node.js-এ এক্সপ্রেস-রেট-সীমা সংহত করা

একই URL 5 বারের বেশি হিট বা রিফ্রেশ করার চেষ্টা করুন এবং আপনি নীচের ত্রুটিটি পাবেন৷

Node.js-এ এক্সপ্রেস-রেট-সীমা সংহত করা


  1. জাভাস্ক্রিপ্ট - হ্যালো ওয়ার্ল্ড

  2. জাভাস্ক্রিপ্টে নোড

  3. জাভাস্ক্রিপ্টে বাইনারি ট্রি

  4. জাভাস্ক্রিপ্টে প্রিম এর অ্যালগরিদম