From 9db895d191e35adbc37f3e5b051dce7be0371973 Mon Sep 17 00:00:00 2001 From: "13621160019@163.com" <13621160019@163.com> Date: Mon, 16 Aug 2021 16:41:07 +0800 Subject: [PATCH] added express-rate-limit middleware to Web UI --- web/server.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/web/server.js b/web/server.js index a0942178..2c37d479 100644 --- a/web/server.js +++ b/web/server.js @@ -1,11 +1,20 @@ const compression = require('compression'); const express = require('express'); -const bodyParser = require('body-parser'); const path = require('path'); const app = express(); app.use(compression()); app.disable('x-powered-by'); app.use(express.static(path.join(__dirname, 'build'))); + +// set up rate limiter: maximum of five requests per minute +var RateLimit = require('express-rate-limit'); +var limiter = new RateLimit({ + windowMs: 1*60*1000, // 1 minute + max: 5 // limit each IP to 5 requests per windowMs +}); +// apply rate limiter to all requests +app.use(limiter); + // need to declare a "catch all" route on your express server // that captures all page requests and directs them to the client // the react-router do the route part