![](/img/trans.png)
[英]How to pass request object through Nest.js Guards with Nest.js Passport Module and Passport Discord?
[英]Nest.js - Sanitize request body
我想问一下nestjs是否提供了某种请求的主体逃逸以防止XSS攻击。
如果没有,是否有任何“最佳实践”来实现这种保护?
谢谢!
是的,您可以使用拦截器序列化数据进出 api。
https://docs.nestjs.com/techniques/serialization
您可以使用 Sanitize Pipe,只是根据您的参数类型清理您的身体请求附带的一些垃圾。
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;
}
}
您可以在 controller 上应用这个 pipe 作为装饰器运行:
@UsePipes(new SanitizePipe(CreateUserDTO))
希望能帮助到你。
您需要使用 class-sanitizer 并应用 sanitize(payload)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.