얼음꽃의 일지

[JS] 한번에 많은 api 개수 오는걸 제한하기 본문

잡다한 지식

[JS] 한번에 많은 api 개수 오는걸 제한하기

얼음꽃 2023. 11. 12. 14:39
728x90

간혹가다 api 가 심하게 요청되는 경우가 있습니다.

 

그런 경우에는 제한을 둬야하는데요

 

제한을 쉽게 둘 수 있도록 해주는 라이브러리가 존재합니다.

 

npm i stall express-rate-limit 를 설치하고

 

const limitIp = require('express-rate-limit');
const express = require('express');
const app = express();

const limiter = limitIp({
  windowMs: 1 * 60 * 1000, // 1 minutes
  max: 1000,
  message: '오류 메세지',
});

app.use(apiLimiter);

 

app.js 파일에서 저렇게 사용하게되면

 

설정한 시간동안 max 값이 넘게되는경우 오류 메시지가 뜨게 됩니다.

 

혹시나 api를 많이 호출하게되는 경우를 방지하거나, sql injection이나 무차별 공격을 방어하기에도 좋습니다.

 

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: 7.1.4, last published: 6 days ago. Start using express-rate-limit in your project by running `npm i expre

www.npmjs.com

 

 

728x90