카테고리 없음

[node JS]접속 요청 제한 (express-rate -limit)

seongjin08 2022. 7. 13. 23:02

expresss-rate-limit 는 일정 시간동안 횟수 제한을 두어

무차별적인 요청을  간단하게 막을 수 있다.

 

npm 설치

 

$ npm install expresss-rate-limit

 

 

더보기
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
    windowMo: 1000,
    max: 1,
    standardHeaders: true,
    legacyHeaders: false,
    message: `Too many accounts created`
});

module.exports = limiter;

여기서

windowMo : 일정 시간

max : 요청 횟수 

 

 

이걸 API  미들웨어로 사용하면 된다.

 

const express = require('express');
const router = express.Router();
const controller =  require('./controller')
const limiter = require('../../limit')

router.use('/',limiter,controller.main);


module.exports = router

 

 

이렇게 미들웨로 사용하면 설정한 값 이상의 요청이오면 이렇게 

 

 

원래는 이렇게 나와야하지만 

요청을 초과하면 요청을 막아준다.

 

 

https://www.npmjs.com/package/express-rate-limit

 

express-rate-limit

Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.. Latest version: 6.4.0, last published: 3 months ago. Start using express-rate-limit in your project by running `npm i exp

www.npmjs.com