Partie 1: Correction de la Configuration de Base de l'API

Assurez-vous que Express.js est installé et que le projet Node.js est initialisé :

npm init -y
npm install express
 

Partie 2: Correction des Routes de Base

Vérifiez que les routes CRUD sont correctement définies dans l'application Express.js :

const express = require('express');
const app = express();

app.use(express.json());

app.get('/posts', (req, res) => {
  res.json([{ id: 1, title: 'Hello World', content: 'Welcome to my blog!' }]);
});

app.post('/posts', (req, res) => {
  res.status(201).send('Post created');
});

app.put('/posts/:id', (req, res) => {
  res.send('Post updated');
});

app.delete('/posts/:id', (req, res) => {
  res.send('Post deleted');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});
 

Partie 3: Correction de la Sécurisation de l'API

Assurez-vous que Helmet est installé et intégré dans l'application :

npm install helmet

Intégrez Helmet dans votre application Express.js :

const helmet = require('helmet');

app.use(helmet());
 

Partie 4: Correction du Test de Sécurité

Effectuez des tests pour vérifier que les en-têtes de sécurité sont présents :

  1. Lancez l'application avec node app.js (ou le nom de votre fichier principal).
  2. Utilisez un outil comme Postman pour envoyer des requêtes à votre API.
  3. Observez les en-têtes de réponse pour vérifier la présence des en-têtes de sécurité ajoutés par Helmet.

Vous devriez voir des en-têtes comme X-Content-Type-Options, X-DNS-Prefetch-Control, Strict-Transport-Security, etc., qui sont ajoutés par Helmet pour améliorer la sécurité.

Vérification Finale

  • Exécutez le script avec Node.js pour vous assurer qu'il n'y a pas d'erreurs de syntaxe ou d'exécution.
  • Testez toutes les routes avec un outil comme Postman pour vous assurer qu'elles fonctionnent correctement et que les en-têtes de sécurité sont présents.
  • Comparez les en-têtes de réponse avec et sans Helmet pour voir l'effet des protections de sécurité.
Modifié le: vendredi 3 novembre 2023, 09:45