diff --git a/backend/api/routes/user.js b/backend/api/routes/user.js index 1f3b0c1a9..9611fdffe 100644 --- a/backend/api/routes/user.js +++ b/backend/api/routes/user.js @@ -7,7 +7,7 @@ const router = Router(); router.get( "/", - RateLimit.limit60perhour, + RateLimit.limit120perhour, authenticateRequest, UserController.getUser ); diff --git a/backend/middlewares/rate-limit.js b/backend/middlewares/rate-limit.js index fc21bf8fd..2940cf0ca 100644 --- a/backend/middlewares/rate-limit.js +++ b/backend/middlewares/rate-limit.js @@ -18,6 +18,22 @@ exports.limit60perhour = rateLimit({ }, }); +exports.limit120perhour = rateLimit({ + windowMs: 60 * 60 * 1000, // 60 min + max: 120 * multiplier, + message: { + message: "Too many requests, please try again later", + }, + keyGenerator: (req) => { + return `${ + req.headers["cf-connecting-ip"] || + req.headers["x-forwarded-for"] || + req.ip || + "255.255.255.255" + }`; + }, +}); + exports.limit3perday = rateLimit({ windowMs: 24 * 60 * 60 * 1000, // 1 day max: 3 * multiplier,