Exercice Sécurisation App Web – Cours 9 (2026)

Exercice 1

Créez les trois pages suivantes:

  • Accueil (index.php) : Contient un titre et du lorem ipsum
  • Connexion (form_connexion.php): Offre un formulaire de connexion (code utilisateur, mot de passe, et un bouton “Connecter”)
  • Créer un compte (creer_compte.php): Offre un formulaire de création de compte (Nom, code utilisateur, mot de passe, mot de passe (confirmé))

Ajoutez un menu pour naviguer entre les trois pages.

Exercice 2

Dans la page “Creer un compte”, assurez-vous de faire les validations suivantes en JavaScript:

  • Tous les champs doivent être remplis
  • Les deux mots de passe doivent être identique
  • Le mot de passe doit contenir: 1 lettre minuscule, 1 lettre majuscule, un caractère spécial, un chiffre, doit posséder au moins 8 caractère. Une autre option, est d’avoir une passphrase, c’est a dire une séquence d’au moins 16 caractère (Aucune règle particulière sur la composition).

Lorsque le formulaire est soumis, faite la création du compte dans une table “utilisateur” dans une base de données. Assurez-vous que le mot de passe soit hashé avec un Salt aléatoire.

Exercice 3

Ajouter une validation serveur dans la coumission du formulaire de création de compte. Il faut s’assurer que le mot de passe ne fait pas partie d’une liste de mot de passe interdit. Cette liste doit être contenu dans une table “mdp_interdit”. Si un utilisateur tente d’en utiliser un, il devra être retourné vers le formulaire de création de compte qui lui affichera un message d’erreur (Le formulaire doit déjà être remplit avec les informations entrée précédemment, à l’exception du mot de passe)

Exercice 4

Créez la page de connexion. Celle-ci doit permettre d’authentifier l’utilisateur avec son code utilisateur et son mot de passe et de le rediriger vers un portail administrateur. Ce portail doit se trouver dans un sous-répertoire “/admin” et contiendra un menu avec les liens suivants:

  • Accueil (accueil.php)
  • Administration (admin.php)
  • Deconnexion (deconnecter.php)

Ajoutez du Lorem Ipsum dans les pages “accueil.php” et “admin.php”

Exercice 5

Assurez-vous que le lien “Déconnexion” détruit la session de l’utilisateur et le redirige vers la page “index.php” à l’accueil du site.

Assurez-vous que chaque page soit protéger contre les utilisateurs qui ne sont pas authentifié, et que les sessions expires après 30 minutes si aucun lien n’a été cliquez. Changer la configuration d’Apache également.