6
TP : page protégée par mot de passe

TP php

Embed Size (px)

Citation preview

Page 1: TP php

TP : page protégée par mot de passe

Page 2: TP php

TP : page protégée par mot de passe Les prérequisEn règle générale, il faut avoir lu tous les chapitres qui précèdent le TP pour bien le comprendre. Voici la liste des connaissances dont vous aurez besoin pour réaliser ce TP :afficher du texte avec echo ;utiliser les variables (affectation, affichage…) ;transmettre des variables via une zone de texte d'un formulaire ;utiliser des conditions simples (if, else).Si l'un de ces points est un peu flou pour vous (vous avez peut-être oublié), n'hésitez pas à relire le chapitre correspondant, vous en aurez besoin pour traiter convenablement le TP. Vous verrez, il ne vous sera pas demandé de faire des choses compliquées. Le but est simplement d'assembler toutes vos connaissances pour répondre à un problème précis.Votre objectifVoici le scénario : vous voulez mettre en ligne une page web pour donner des informations confidentielles à certaines personnes. Cependant, pour limiter l'accès à cette page, il faudra connaître un mot de passe.Dans notre cas, les données confidentielles seront les codes d'accès au serveur central de la NASA (soyons fous !). Le mot de passe pour pouvoir visualiser les codes d'accès sera kangourou.Sauriez-vous réaliser une page qui n'affiche ces codes secrets que si l'on a rentré le bon mot de passe ?Comment procéder ?Pour coder correctement, je recommande toujours de travailler d'abord au brouillon (vous savez, avec un stylo et une feuille de papier !). Ça peut bien souvent paraître une perte de temps, mais c'est tout à fait le contraire. Si vous vous mettez à écrire des lignes de code au fur et à mesure, ça va être à coup sûr le bazar. À l'inverse, si vous prenez cinq minutes pour y réfléchir devant une feuille de papier, votre code sera mieux structuré et vous éviterez de nombreuses erreurs (qui font, elles, perdre du temps).

Page 3: TP php

TP : page protégée par mot de passe À quoi doit-on réfléchir sur notre brouillon ?1. Au problème que vous vous posez (qu'est-ce que je veux arriver à

faire ?).2. Au schéma du code, c'est-à-dire que vous allez commencer à le

découper en plusieurs morceaux, eux-mêmes découpés en petits morceaux (c'est plus facile à avaler).

3. Aux fonctions et aux connaissances en PHP dont vous allez avoir besoin (pour être sûrs que vous les utilisez convenablement).

Et pour montrer l'exemple, nous allons suivre cette liste pour notre TP.

Problème posé On doit protéger l'accès à une page par un mot de passe. La page

ne doit pas s'afficher si l'on n'a pas le mot de passe. Schéma du code Pour que l'utilisateur puisse entrer le mot de passe, le plus simple

est de créer un formulaire. Celui-ci appellera la page protégée et lui enverra le mot de passe. Un exemple de ce type de page est représenté à la figure suivante.L'accès au contenu de la page ne sera autorisé que si le mot de passe fourni par l'utilisateur est kangourou.

Page 4: TP php

TP : page protégée par mot de passe

Vous devez donc créer deux pages web :

formulaire.php : contient un simple formulaire comme vous savez les faire ;

secret.php : contient les « codes secrets » mais ne les affiche que si on lui donne le mot de passe.

Connaissances requises

Nous avons détaillé les connaissances requises au début de ce chapitre. Vous allez voir que ce TP n'est qu'une simple application pratique de ce que vous connaissez déjà, mais cela sera une bonne occasion de vous entraîner. ;-)

Page 5: TP php

formulaire.php Comme vous le savez, il y a deux pages à créer. Commençons par la plus simple, formulaire.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>

<title>Page protégée par mot de passe</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>

<form action="secret.php" method="post">

<p>

<input type="password" name="mot_de_passe" />

<input type="submit" value="Valider" />

</p>

</form>

<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>

</body>

</html>

Page 6: TP php

secret.php Maintenant, intéressons-nous à la page secret.php qui est appelée par le formulaire.

<head>

        <title>Codes d'accès au serveur central de la NASA</title>

        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    </head>

    <body>

     

        <?php

    if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] ==  "kangourou") // Si le mot de passe est bon

    {

    // On affiche les codes

    ?>

        <h1>Voici les codes d'accès :</h1>

        <p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p>  

         

        <p>

        Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />

        La NASA vous remercie de votre visite.

        </p>

        <?php

    }

    else // Sinon, on affiche un message d'erreur

    {

        echo '<p>Mot de passe incorrect</p>';

    }

    ?>

     

         

    </body>

</html>