首页 > 解决方案 > 将用户请求限制为特定的 url NODEJS 服务器

问题描述

我有一个 NodeJS 后端服务器,它允许注册用户发送一个 URL,该 URL 稍后将由 python 抓取器处理。大多数情况下它运行良好,但如果用户滥用此功能,某些网站可能会阻止我的服务器向他们发送请求。因为此功能仅适用于注册用户,我认为该特定请求的请求限制可以通过限制用户而不是特定 IP 或类似的东西来完成。有没有人有一个例子或想法来限制用户使用 nodejs \ mongodb 对某个 URL 的请求?

谢谢!

标签: javascriptnode.jsmongodbexpressrate-limiting

解决方案


如果您使用的是 express,您可以查看:Express Rate Limit middleware,并在他们的文档中使用它:

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); // 

推荐阅读