Node.js Nest.js-清理请求正文

Node.js Nest.js-清理请求正文,node.js,express,nestjs,Node.js,Express,Nestjs,我想问一下,nestjs是否提供了某种请求的主体转义来防止XSS攻击 如果没有,是否有实现这种保护的“最佳实践” 谢谢 是的,您可以使用拦截器序列化api中的数据 您可以使用一个消毒管道,根据您的参数类型来清理随body请求而来的一些垃圾 import {ArgumentMetadata, Injectable, PipeTransform} from '@nestjs/common'; import {plainToClass} from 'class-transformer'; @Inj

我想问一下,nestjs是否提供了某种请求的主体转义来防止XSS攻击

如果没有,是否有实现这种保护的“最佳实践”


谢谢

是的,您可以使用拦截器序列化api中的数据

您可以使用一个消毒管道,根据您的参数类型来清理随body请求而来的一些垃圾

import {ArgumentMetadata, Injectable, PipeTransform} from '@nestjs/common';
import {plainToClass} from 'class-transformer';

@Injectable()
export class SanitizePipe implements PipeTransform {

    constructor(private readonly className: any) {}

    transform(value: any, metadata: ArgumentMetadata) {
        return plainToClass(this.className, value, {excludeExtraneousValues:true}) as object as any;
    }
}
您可以在控制器上应用此管道作为装饰器运行:

@UsePipes(new SanitizePipe(CreateUserDTO))

希望有帮助。

您需要使用类sanitizer并应用sanitize(有效负载)

这如何防止字符串中的恶意内容?SanitizePie将阻止您接收和保存不属于您的正文或查询所需内容的信息。这在某种程度上是预防的一部分,但我认为您正在NestJs()中寻找头盔,这是一个保护某些XS的中间件,