跨站点请求伪造(也称为 CSRF 或 XSRF)是一种恶意利用网站漏洞的行为,其中从 Web 应用程序信任的用户传输 未经授权 的命令。要缓解此类攻击,您可以使用 csurf 包。
与 Express 一起使用(默认)
首先安装所需的包:
bash
$ npm i --save csurf
此包已弃用,请参阅 csurf
文档 了解更多信息。
如 csurf
文档 中所述,此中间件需要先初始化会话中间件或 cookie-parser
。请参阅该文档以获取进一步说明。
安装完成后,将 csurf
中间件应用为全局中间件。
ts
import * as csurf from 'csurf'
// ...
// somewhere in your initialization file
app.use(csurf())
与 Fastify 一起使用
首先安装所需的软件包:
bash
$ npm i --save @fastify/csrf-protection
安装完成后,注册 @fastify/csrf-protection
插件,如下所示:
ts
import fastifyCsrf from '@fastify/csrf-protection'
// ...
// 在注册某个存储插件后,在初始化文件中的某个位置
await app.register(fastifyCsrf)
如 @fastify/csrf-protection
文档 此处 中所述,此插件需要先初始化存储插件。请参阅该文档以获取进一步说明。