Accueil
Forums
Turoriaux
Inscription
Connexion
Fil RSS
Bienvenue invité !
Samedi 22 Novembre 2008
Vous êtes ici: Crea-paradise.com > Tutoriaux > Conception web > PHP > Un espace admin qui utilise les sessions

Un espace admin qui utilise les sessions



Informations sur le tutorial
Image du tutorial Auteur : Rom11 Commentaires : 5
Note : Note: 5/5 Vu : 1204
Date : 21/04/2008 à 15h51 Actions : Commenter et noter ce tutorial
Dernière modification : 22/04/2008 à 09h36


Salut codeurs ou codeuses !

Dans ce petit tutorial je vais vous montrer une technique très simple pour sécuriser les pages d'un interface d'administration qui n'a pas besoin d'espace membres !


Avant de commencer il faut ...

... Savoir coder le php et plus précisément :
  • Les formulaires
  • Les conditions
  • Les sessions


Comment faire ?

Pour faire ça on vas utiliser un procédé très simple :

Dans le répertoire admin pas exemple (ou sont toutes vos pages d'administration)

En haut on va inclure (mais tout en haut) dans la page de configuration par exemple un petit script qui demande de se logger si il n'est pas connecté !


Indications

Voici comment faire ce petit script :
Caché (cliquez pour afficher)

Avant tout on vérifie si la variable session connecte existe sinon on l'initialise a FALSE.
après on vérifie si l'utilisateur à posté le formulaire avec la fonction isset qui vérifie si une variable $_POST['pseudo'] existe.
Si la variable n'existe pas on affiche le formulaire.

Si il à posté le formulaire on vérifie si le pseudo et le mot de pass sont bons !



A vous de jouer

Maintenant je vous ai tout dit ... enfin presque tout : n'oubliez pas de sécuriser le formulaire avec htmlentities() !
...
...
...
... Fini ?
...
...
... Bon aller maintenant correction !

Correction

Page à inclure avant tout :
config.php
Code PHP:
<?php
session_start(); // A mettre avant tout

// METTEZ VOS CODES DE CONFIG, mysql etc ...
$admin_pseudo = 'Rom11'; // Pseudo a configurer
$admin_mdpass = 'azerty'; // Mot de pass à configurer

if(!isset($_SESSION['connecte'])){ // Si la variable $_SESSION['connecte'] n'existe pas, on la met la valeur FALSE (faux)
     $_SESSION['connecte'] = FALSE;
}

if(!$_SESSION['connecte']){ // Si il n'est pas connecté
     if(isset($_POST['pseudo'])){ // Si l'utilisateur à posté le formulaire
          $pseudo = htmlentities($_POST['pseudo']); // On sécurise la variable
          $pass   = htmlentities($_POST['pass']); // Pareil
          if($pseudo == $admin_pseudo && $pass == $admin_mdpass){ // OK
          {
           $_SESSION['connecte'] = TRUE; // On le connecte
           echo 'Vous vous êtes bien connecté à l'interface d'administration ! <a href="index.php">Retour</a>';
          }
          else // Pas Ok
          {
            echo 'Vous vous êtes trompé dans le pseudo ou le mot de pass';
          }
     }
     else
     {
        ?>
<form method="post" action="index.php">
<p>
<h1> Connexion </h1>
<input type="text" name="pseudo" />
<input type="password" name="pass" />
</p>
</form>
        <?php
     }
     exit(); // Si il n'est pas connecté on arrête le script aussitôt
}


index.php et vos autres pages d'administration
Code PHP:
<?php
include('config.php');
// Votre page ...
?>


Remarque
Si vous êtes hébergé sous free.fr il faut créer un dossier nommé "sessions" à la racine de votre FTP !
---
Pensez aussi à créer un fichier index.php vu que le formulaire pointe dessus 


Le mot de la fin

Et bien vous voyez c'était facile !

J'espère que mon tutorial vous à été utilise .
Si vous avez un problème, aller voir du coté du Forum PHP !


5 commentaires



> Posté le : 25/04/2008 à 20h21 | Note : Aucune
Avatar de Rom11


Groupe : Membres


Aucun commentaires ?

Ce message est signé Rom11
patience ... je sait ce que c'est ... mais vous verrez ...
> Posté le : 02/05/2008 à 15h33 | Note : Note: 5/5
Avatar de lbeetls01


Groupe : Admins


Très bon tutorial ! =)
Quand je faisais mes premiers script j'ai cherché pendant longtemps un script comme ça...

Note: 5/5 !


> Posté le : 07/05/2008 à 15h38 | Note : Aucune
Avatar de Rom11


Groupe : Membres


Merci Lb 

Ce message est signé Rom11
patience ... je sait ce que c'est ... mais vous verrez ...
> Posté le : 12/11/2008 à 15h09 | Note : Aucune
Aucun avatar


Groupe : Membres


Sympa le tuto, mais il comporte quelque erreur...
Comme je suis debutant
j'ai pour l'instant identifié celle-ci:
<quote>echo "Vous vous êtes bien connecté à l'interface d'administration ! Retour";</quote>
qui est a remplacer par:
<xmp>echo "Vous vous êtes bien connecté à l'interface d'administration ! Retour";</xmp>

il y a aussi une { en trop a suprimer ligne 18 ou 19 au choix...


Biensur je peux me tromper 
> Posté le : 12/11/2008 à 15h09 | Note : Aucune
Aucun avatar


Groupe : Membres


oulalalalala quelque probleme pour mettre du code dans les reponses....
Une balise quote serai pas mal non?


Bon j'ai testé tout ce que je pouvais donc:

ligne 21, echapper ça href="index.php" comme ceci href="index.php"

Je croise les doigts 


GrrrRRRrrRRRrrRRRr comme ceci    \"

j'ai reussi

ligne 21, echapper ça href="index.php" comme ceci href=\"index.php\"

La psychiatrie... c'est ou svp? 


1