Exercice : "Sécurisation d'une API de Blog"

Objectif : Créer une API de blog simple avec Express.js et sécuriser l'application en utilisant le package Helmet pour protéger contre certaines vulnérabilités Web courantes.

Partie 1: Configuration de Base de l'API

  1. Création de l'API :
    • Installez Express.js et initialisez un nouveau projet Node.js.
    • Créez une application Express.js qui écoute sur le port 3000.

Partie 2: Ajout de Routes de Base

  1. Routes de l'API :

Partie 3: Sécurisation de l'API

  1. Installation de Helmet :

    • Installez le package Helmet et intégrez-le dans votre application Express.js.
  2. Configuration de Helmet :

    • Configurez Helmet pour qu'il utilise ses protections par défaut.

Partie 4: Test de Sécurité

  1. Vérification des En-têtes HTTP :
    • Utilisez un outil comme Postman ou un navigateur pour vérifier que les en-têtes de sécurité sont correctement définis.

Exemple de Code pour la Partie 1 et 2

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

app.use(express.json()); // Pour parser les requêtes JSON

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

app.post('/posts', (req, res) => {
  // Simuler la création d'un article
  res.status(201).send('Post created');
});

app.put('/posts/:id', (req, res) => {
  // Simuler la mise à jour d'un article
  res.send('Post updated');
});

app.delete('/posts/:id', (req, res) => {
  // Simuler la suppression d'un article
  res.send('Post deleted');
});

// Partie 1: Écoute sur le port 3000
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

 

Instructions pour l'étudiant :

  • Complétez l'installation et la configuration de Helmet dans votre application.
  • Assurez-vous que toutes les routes sont fonctionnelles et retournent les données ou les confirmations attendues.
  • Testez votre API avec et sans Helmet pour observer les différences dans les en-têtes HTTP de réponse.
  • Documentez les en-têtes de sécurité que Helmet a ajoutés ou modifiés.

Cet exercice aidera les étudiants à comprendre comment les packages de sécurité comme Helmet peuvent être utilisés pour améliorer la sécurité des applications Express.js.

Modifié le: vendredi 3 novembre 2023, 09:43