diff options
| -rw-r--r-- | app.js | 12 | ||||
| -rw-r--r-- | package.json | 2 |
2 files changed, 8 insertions, 6 deletions
@@ -1,6 +1,6 @@ const express = require('express') const app = express() -const limit = require('express-limit').limit +const rateLimit = require('express-rate-limit') const helmet = require('helmet') const bp = require('body-parser') const cookieParser = require('cookie-parser') @@ -32,6 +32,11 @@ const assetDir = [ 'img', 'vid' ] +const limiter = rateLimit({ + windowMs: 30 * 1000, + max: 100, + message: '<h1>Rate Limit Exceeded</h1><p>You have exceeded the allowed number of requests. Please try again later.</p>', +}) require('dotenv').config() const rss = require('./source/rss')({baseUrl: process.env.baseUrl}) @@ -52,10 +57,7 @@ class App { app.use(cookieParser()) if (process.env.NODE_ENV === 'prod') { app.use(helmet()) - app.use(limit({ - max: 100, // 100 requests - period: 300 * 1000 // per minute (five minutes) - })) + app.use(limiter) } app.route('*') diff --git a/package.json b/package.json index 7d08177..e96a1bc 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dompurify": "^3.1.7", "dotenv": "^16.4.5", "express": "^4.21.1", - "express-limit": "^1.0.0", + "express-rate-limit": "^7.4.1", "helmet": "^8.0.0", "highlight.js": "^11.10.0", "jest": "^29.7.0", |
