在 Node.js 中集成 Express-rate-limit

为了防止网站免受 DOS 和 DDOS 攻击,速率限制变得日益重要。速率限制可防止系统受到任何类型的虚假请求或其他蛮力攻击。速率限制限制了 IP 可以发出请求的次数。expressrate-limit 是 npm 包,用于限制来自用户的请求数量。

安装限速模块

运行以下命令在您的应用程序中安装快速速率限制模块。

npm install --save express-rate-limit

示例

创建一个具有名称的文件 -rateLimit.js并复制以下代码片段。创建文件后,使用以下命令运行此代码,如下例所示 -

node rateLimit.js

rateLimit.js

// 导入 express 依赖

const express = require("express");

// 导入 express-rate-limit 依赖项

const rateLimit = require("express-rate-limit");

// 将 express 函数存储在变量应用程序中

const applicaion = express();

// 使用它的选项调用 ratelimiter 函数

// max:包含最大请求数

// windowsMs:包含接收最大请求的时间(以毫秒为单位)

// 消息:在速率限制时向用户显示的消息

const limiter = rateLimit({

   max: 5,

   windowMs: 60 * 60 * 1000,

   message: "Too many request from this IP"

});

// 在 express 中间件中添加限速功能,以便

// 每个请求在执行之前都会通过这个限制

applicaion.use(limiter);

// 用于处理用户请求的 GET 路由

applicaion.get("/", (req, res) => {

   res.status(200).json({

      status: "SUCCESS",

      message: "欢迎来到教程点!"

   });

});

// 服务器设置

const port = 8000;

applicaion.listen(port, () => {

   console.log(`app is running on port ${port}`);

});

输出结果
C:\home\node>> node rateLimit.js

运行节点应用程序后,转到浏览器并点击 localhost:8000

您将看到一个类似的页面,如下所示。

尝试点击或刷新相同的 URL 5 次以上,您将收到以下错误。

以上是 在 Node.js 中集成 Express-rate-limit 的全部内容, 来源链接: utcz.com/z/335528.html

回到顶部