跳至主要內容

Helmet和CSRF

刘春龙原创...大约 1 分钟NodejsNestjs教程文档

Helmet

Helmet 可以通过适当设置 HTTP 标头来帮助保护你的应用免受一些众所周知的 Web 漏洞的侵害。 一般来说,Helmet 只是一些较小的中间件函数的集合,它们设置与安全相关的 HTTP 标头

提示

请注意,将 helmet 应用为全局或注册它必须在对 app.use() 的其他调用或可能调用 app.use() 的设置函数之前进行。 这是由于底层平台(即 Express 或 Fastify)的工作方式,中间件/路由的定义顺序很重要。 如果在定义路由后使用 helmet 或 cors 等中间件,则该中间件将不会应用于该路由,它只会应用于中间件之后定义的路由。

首先安装所需的包。

npm i --save helmet

安装完成后,将其作为全局中间件应用。

import helmet from 'helmet';
app.use(helmet());

CSRF

跨站点请求伪造(也称为 CSRF 或 XSRF)是一种对网站的恶意利用,其中 unauthorized 命令从 Web 应用信任的用户传输。 要减轻这种攻击,你可以使用 csurf 包

首先安装所需的包

npm i --save csurf

安装完成后,将其作为全局中间件应用。

import * as csurf from 'csurf';
app.use(csurf());

警告

此中间件需要先初始化会话中间件或 cookie-parser
如果开启csurf(),将会阻止一切非本站点的请求,开启时请慎重考虑

上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7