Ограничение пользовательских запросов на конкретный URL-адрес сервера NODEJS

У меня есть внутренний сервер NodeJS, который позволяет зарегистрированным пользователям отправлять URL-адрес, который позже будет обрабатываться парсером Python. В большинстве случаев это работает хорошо, но если пользователь будет злоупотреблять этой функцией, некоторые сайты могут заблокировать мой сервер от отправки им запроса. Поскольку эта функция доступна только для зарегистрированных пользователей, я думаю, что ограничение запросов для этого конкретного запроса может быть выполнено путем ограничения пользователя, а не конкретного IP-адреса или чего-то в этом роде. У кого-нибудь есть пример или идея ограничения запроса пользователя на определенный URL-адрес с помощью nodejs\mongodb?

Спасибо!


person O123    schedule 20.07.2020    source источник
comment
Пакет rate-limiter-flexible может это сделать.   -  person Animir    schedule 22.07.2020


Ответы (1)


Если вы используете экспресс, вы можете посмотреть: Ограничение экспресс-рейта. промежуточное ПО и используйте его, как в их документации:

const rateLimit = require("express-rate-limit");
 
const apiLimiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 100
});
 
// only apply to requests that begin with /api/
app.use("/api/", apiLimiter); // 
person FroZn    schedule 20.07.2020