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