仅编写以下代码以防止客户端的app.module中出现XSRF / CSRF是否足够?
HttpClientXsrfModule.withOptions({
cookieName: 'XSRF-TOKEN',
headerName: 'X-XSRF-TOKEN'
})
还是仍然需要服务器上的一些额外逻辑(Express / NestJS)?
最佳答案
您的服务器需要实现csrf令牌。然后,客户端将令牌发回,以便可以在您的服务器上对其进行检查。有关更多信息,请参见understanding csrf tokens。
要将CSRF支持添加到您的nestjs应用程序中,可以使用csurf中间件,请参见nest security docs:
首先安装csurf:
$ npm i --save csurf
然后在您的main.ts中添加中间件
import * as csurf from 'csurf';
app.use(csurf());