From a1634ad45a17ad95a2a8bd65a5239df00cb5dca9 Mon Sep 17 00:00:00 2001 From: Mhykol Date: Fri, 17 May 2024 03:43:09 -0400 Subject: Implemented rate limiting and cleaned up unused code --- app.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app.js b/app.js index 985e66a..0c1872f 100644 --- a/app.js +++ b/app.js @@ -1,5 +1,6 @@ const express = require('express') const app = express() +const limit = require('express-limit').limit const helmet = require('helmet') const bp = require('body-parser') const cookieParser = require('cookie-parser') @@ -9,7 +10,6 @@ const Controller = require('./source/controller') const readfile = require('./source/readfile') const session = require('./source/session') const logger = require('./source/logger')() -const blog = require('./source/blog') const mime = { html: 'text/html', txt: 'text/plain', @@ -35,7 +35,13 @@ class App { App() { app.use(bp.json()) app.use(cookieParser()) - if (process.env.NODE_ENV === 'prod') {app.use(helmet())} + if (process.env.NODE_ENV === 'prod') { + app.use(helmet()) + app.use(limit({ + max: 100, // 100 requests + period: 300 * 1000 // per minute (five minutes) + })) + } app.get('/js/*', this.#Logger, (req, res) => { const data = this.readfile.GetFile(req.path) @@ -64,7 +70,6 @@ class App { this.data.mime.then(output => this.#FileOpen({data: this.data, mime: output, res: res})) break case 'robots.txt': - console.log('hit') this.data = this.readfile.GetRobots() this.data.mime.then(output => this.#FileOpen({data: this.data, mime: output, res: res})) break @@ -92,7 +97,6 @@ class App { const DOMPurify = createDOMPurify(window) const clean = DOMPurify.sanitize(output.layouts.header + output.layouts.data + output.layouts.footer) res.send(clean) - //res.send(output.layouts.header + output.layouts.data + output.layouts.footer) } catch (err) { logger.Error(err) res.send('Not Found') -- cgit v1.2.3-70-g09d2