Correction Exercice : "Sécurisation d'une API de Blog"
Conditions d’achèvement
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 :
- Lancez l'application avec
node app.js(ou le nom de votre fichier principal). - Utilisez un outil comme Postman pour envoyer des requêtes à votre API.
- 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