Aller au contenu

PHP et POST⚓︎

Une page de connexion

Dans l'exercice précédent, vous pouvez remarquer que les paramètres sont bien rajoutés à la barre d'adresse. Ce n'est clairement pas quelque chose de pertinent pour transmettre des données sensibles. Afin de ne pas afficher ces données dans la barre d'adresse, il est possible d'utiliser la méthode POST. Il faut alors modifier la méthode utilisée dans le formulaire, comme par exemple dans le fichier login.html :

login.html
<!DOCTYPE html>
<html lang="fr">   
   <head>
      <title>Page de connexion</title> 
      <meta charset="utf-8">      
   </head>
   <body>
      <div align = "center">
         <div style = "width:330px; border: solid 1px black;" 
              align = "left">
            <div style = "background-color:black; color:white; padding:3px;">
                <b>Connexion</b>
            </div>
            <div style = "margin:30px">
               <form action = "accueil.php" method = "post">
                  <label>Login  :</label>
                  <input type = "text" name = "username"><br><br>
                  <label>Mot de passe  :</label>
                  <input type = "password" name = "password">
                  <br><br>
                  <input type = "submit" name="login" value = "Login">
               </form>
            </div>
         </div>
      </div>
   </body>
</html>

Ce fichier fait appel Ă  un fichier accueil.php dont le code est :

accueil.php
<!DOCTYPE html>
<?php
$login = $_POST['username'];
$password = $_POST['password'];
?>
<html lang="fr">   
   <head>
   <title>Bonjour <?php echo $login ?></title> 
        <meta charset="utf-8">      
   </head>
   <body>
      <p>Votre mot de passe est <?php echo $password ?></p>
      <p><a href="login.html">Retour Ă  l'Ă©cran de connexion</a></p>
   </body>
</html>
Exercice 9
  1. Créez les deux fichiers et allez sur http://localhost/login.html.
  2. Rentrez un login et un mot de passe et validez.
Gestion des mots de passe

Vous pouvez remarquer que le mot de passe n'apparaît pas dans la barre d'adresse. C'est grâce à la méthode POST. Bien sûr, afficher le mot de passe de cette manière n'est absolument pas sécurisé. C'est d'ailleurs pourquoi dans le formulaire, le mot de passe est masqué.