Nestjs 简单的安全处理
前言
在后端服务中,我们总是会遇到一些不安全的情况,毕竟web本身也不是一点漏洞都没有,好在有一些便捷的插件拱我们使用。
- helmet,通过设置 HTTP 响应标头来帮助保护 Express 应用程序;
- express-rate-limit,用于限制对公共 API 和/或终结点(例如密码重置)的重复请求,防止暴力攻击;
本来还有一个跨域处理的CORS插件,但是目前还没有时间实际部署上线,所以在没有实际经验暂时就不写了,到时候单开一篇文章。
安装依赖
pnpm i helmet express-rate-limit
教程
这两个插件我们都需要在main.ts中启用。
main.ts
import { NestFactory } from "@nestjs/core";
import { AppModule } from "./app.module";
import helmet from "helmet";
import rateLimit from "express-rate-limit";
async function bootstrap() {
const app = await NestFactory.create(AppModule);
// 头信息安全处理
app.use(helmet());
// 限制请求频率
app.use(
rateLimit({
windowMs: 15 * 60 * 1000, // 15 分钟
max: 100, // 15分钟中最大 100 个请求
standardHeaders: "draft-7",
legacyHeaders: false
})
);
await app.listen(3000);
}
bootstrap();
一般情况下默认值就行了,有需要定制的就自行查看文档即可。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据