chore: fix rate limiting
This commit is contained in:
parent
305ae6a35e
commit
0ad86e5208
9
app.js
9
app.js
@ -50,7 +50,7 @@ setInterval(() => demoModeRequestTracker.cleanupExpiredEntries(), 3600000); // C
|
||||
// Configure rate limiting for demo mode
|
||||
const demoModeRequestTracker = {
|
||||
requests: new Map(),
|
||||
maxRequestsPerHour: 5, // Adjust as needed
|
||||
maxRequestsPerHour: 20, // Adjust as needed
|
||||
resetInterval: 60 * 60 * 1000, // 1 hour in milliseconds
|
||||
|
||||
isLimited: function (ip) {
|
||||
@ -1223,6 +1223,11 @@ function storeLogInDatabase(logData) {
|
||||
*/
|
||||
|
||||
app.get('/health', (req, res) => {
|
||||
const clientIP =
|
||||
req.headers['cf-connecting-ip'] ||
|
||||
req.headers['x-forwarded-for']?.split(',')[0] ||
|
||||
req.ip ||
|
||||
req.connection.remoteAddress;
|
||||
// Check if demo mode is forced via URL parameter
|
||||
const forceDemoMode = req.session && req.session.forceDemoMode === true;
|
||||
|
||||
@ -1234,7 +1239,7 @@ app.get('/health', (req, res) => {
|
||||
requestsRemaining:
|
||||
isDemoMode ?
|
||||
demoModeRequestTracker.maxRequestsPerHour -
|
||||
(demoModeRequestTracker.requests.get(req.ip)?.count || 0)
|
||||
(demoModeRequestTracker.requests.get(clientIP)?.count || 0)
|
||||
: null,
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user