반응형
express-rate-limit
과도한 요청으로 인해 서버에 과부하를 주는 것을 방지하기 위해 사용하는 라이브러리이다.
next에서 express-rate-limit 사용하기 -> 2022.07.26 - [Javascript/Next.js] - [ Next.js ] - next api에서 express-rate-limit 사용하기
사용밥법
npm install express-rate-limit
기본 설정
import rateLimit from 'express-rate-limit';
const limiter = rateLimit({
windowMs: 1000 , //1초 ... 15 * 60 * 1000 15분
max: 1,
standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
legacyHeaders: false, // Disable the `X-RateLimit-*` headers
message: 'Too many accounts created from this IP'
});
export {
limiter
}
사용하려는 위치에 해당 모듈을 불러와 사용한다.
위의 코드는 1초에 1번까지 api 요청이 허용된다.
ex) 계속해서 로그인 시도를 하는 경우
import { Router } from 'express';
import { limiter } from './limit';
const router = Router();
router.get('/login', limiter, (req, res, next)=>{
/*
아이디와 비밀번호에 대한 검증 코드...
*/
res.json({result: 'Success'})
});
반응형
'Javascript > Node.js' 카테고리의 다른 글
[ Node.js ] - iamport를 사용해서 pg사 연동해보기 (0) | 2022.06.15 |
---|---|
[ Node.js ] - node.js란? ( + 기본 코드 ) (0) | 2022.06.10 |
[ Node.js ] - axios와 node-fetch로 통신하기 (0) | 2022.06.02 |
[ Node.js ] - swagger-ui (0) | 2022.04.05 |
[ Node.js] - prisma (0) | 2022.04.05 |