feat: rate limiter

This commit is contained in:
Riccardo
2023-09-08 16:54:06 +02:00
parent 10e212038b
commit 32aae19f93
3 changed files with 15 additions and 0 deletions

View File

@@ -32,6 +32,7 @@
"body-parser": "^1.20.2",
"cors": "^2.8.5",
"express": "^4.18.2",
"express-rate-limit": "^6.11.0",
"express-session": "^1.17.3",
"helmet": "^7.0.0",
"prisma": "^5.1.1",

View File

@@ -1,6 +1,7 @@
import * as bodyParser from 'body-parser';
import cors from 'cors';
import express, { Request, Response } from 'express';
import { rateLimit } from 'express-rate-limit';
import session from 'express-session';
import helmet from 'helmet';
import { z } from 'zod';
@@ -8,6 +9,13 @@ import { fromZodError } from 'zod-validation-error';
import { addition } from '../utils/addition';
import { logger } from '../utils/logger';
const limiter = rateLimit({
windowMs: 10 * 60 * 1000,
max: 50,
standardHeaders: 'draft-7',
legacyHeaders: false
});
const server = express();
server.use(cors());
server.use(helmet());
@@ -19,6 +27,7 @@ server.use(
name: 'sessionId'
})
);
server.use(limiter);
server.use(express.json());
server.use(bodyParser.json());

View File

@@ -2295,6 +2295,11 @@ expect@^29.0.0, expect@^29.6.1:
jest-message-util "^29.6.1"
jest-util "^29.6.1"
express-rate-limit@^6.11.0:
version "6.11.0"
resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-6.11.0.tgz#bbb474c9765e5027ac92683a494e06162ea7c542"
integrity sha512-H9afltGTaEZcvenAB5LFgb/ysTMHUzMxoB3TJM6UHP5FtAP1p2+heMj1xwTei54Zm4I9I/2qsS5m+XrdKQp/Hw==
express-session@^1.17.3:
version "1.17.3"
resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36"