Un espace admin qui utilise les sessions
Informations sur le tutorial
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.phpCode 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'administrationCode 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 |

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 :  |

Groupe : Admins
|
Très bon tutorial ! =) Quand je faisais mes premiers script j'ai cherché pendant longtemps un script comme ça...
! |
|
> Posté le : 07/05/2008 à 15h38 | Note : Aucune |

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 |

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 |

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? |