NestJS Logo

Protection CSRF

Le Cross-site request forgery (CSRF ou XSRF) est un type d'attaque par lequel des commandes non autorisées sont envoyées d'un utilisateur de confiance à une application web. Pour éviter cela, vous pouvez utiliser le paquet csrf-csrf.

Utilisation avec Express (par défaut)#

Commencez par installer le package requis :


$ npm i csrf-csrf
Attention Comme indiqué dans la documentation csrf-csrf, ce middleware nécessite que le middleware de session ou cookie-parser soit initialisé au préalable. Veuillez vous référer à la documentation pour plus de détails.

Une fois l'installation terminée, appliquez le middleware csrf-csrf en tant que middleware global.


import { doubleCsrf } from 'csrf-csrf';
// ...
// quelque part dans votre fichier d'initialisation
const {
  invalidCsrfTokenError, // This is provided purely for convenience if you plan on creating your own middleware.
  generateToken, // Use this in your routes to generate and provide a CSRF hash, along with a token cookie and token.
  validateRequest, // Also a convenience if you plan on making your own middleware.
  doubleCsrfProtection, // This is the default CSRF protection middleware.
} = doubleCsrf(doubleCsrfOptions);
app.use(doubleCsrfProtection);

Utilisation avec Fastify#

Commencez par installer le package requis :


$ npm i --save @fastify/csrf-protection

Une fois l'installation terminée, enregistrez le plugin @fastify/csrf-protection, comme suit :


import fastifyCsrf from '@fastify/csrf-protection';
// ...
// quelque part dans votre fichier d'initialisation après l'enregistrement d'un plugin de stockage
await app.register(fastifyCsrf);
Attention Comme expliqué dans la documentation @fastify/csrf-protectionici, ce plugin nécessite l'initialisation préalable d'un plugin de stockage. Veuillez consulter cette documentation pour plus d'instructions.

Soutenez-nous

Nest est un projet open source sous licence MIT. Il peut se développer grâce au soutien de ces personnes formidables. Si vous souhaitez les rejoindre, apprenez-en plus ici.

Sponsors Principaux

Trilon LogoMarblism LogoMojam LogoAmplication Logo

Sponsors / Partenaires

Devenir un sponsor