Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 4

Valider, limiter, surveiller

Validation des entrées et injections

  • Ne jamais faire confiance aux données venues de l'extérieur : paramètres d'URL, en-têtes HTTP, corps de requête.
  • Requêtes préparées contre l'injection SQL (et d'autres injections).
  • Sanitisation : nettoyer et valider les entrées pour éviter XSS (Cross-Site Scripting) ou CSRF (Cross-Site Request Forgery), selon le cours.

Au TP : valider la longueur du nom d'utilisateur, la validité du mot de passe, et renvoyer un message détaillant les problèmes si les données sont invalides.

-- Dangereux : concaténer l'entrée
"SELECT * FROM users WHERE email = '" + email + "'"
-- Préparé : l'entrée reste une donnée
"SELECT * FROM users WHERE email = ?"

(exemple ajouté)

Vérifie que tu as compris

Quelle mesure empêche l'injection SQL selon le cours ?

Limiter le taux de requêtes

Le rate limiting limite le nombre de requêtes qu'un utilisateur peut faire dans un intervalle de temps (le TP donne l'exemple de 100 requêtes par heure) pour contrer le DoS et limiter l'impact d'un attaquant. Le CAPTCHA vérifie que les requêtes viennent de vrais utilisateurs et non de robots.

Surveillance et audit

  • Journaux (logs) détaillés : adresse IP, heure, types de requêtes, résultats.
  • Audits réguliers pour vérifier les normes et l'absence de nouvelles vulnérabilités.

Autres points du TP

  • Helmet : en-têtes de sécurité HTTP (réduit des attaques comme XSS).
  • Gestion des erreurs : message clair en cas de token manquant ou invalide, mais pas de trace de pile ni d'infos sur la structure de la base.
  • Paquets : auditer et mettre à jour (exemple du TP : « 13 vulnerabilities (3 low, 2 moderate, 7 high, 1 critical) »).

Vérifie que tu as compris

Un utilisateur dépasse 100 requêtes par heure et reçoit un refus. Quelle protection agit ?