A propos des sessions (merci de faire partager votre expérience)

A propos des sessions (merci de faire partager votre expérience) - PHP - Programmation

Marsh Posté le 27-06-2002 à 17:25:55    

Salut à tous,
 
Alors voila y'a des trucs avec les sessions que je ne pige pas, j'espère que vous pourrez m'éclairer et m'aider a rendre mon code fiable.
 
Voici comment je procède :
 
1./ Dans ma page d'authentification ('sign.php';) j'ai un formulaire avec 'Pseudo' et 'Password'.
Dans cette même page, une fois le formulaire validé je test les informations saisi par l'utilisateur.  
Si les infos correspondent avec celles présentes dans ma table 'user', je crée une variable de session 'ses_user' et je redirige l'utilisateur vers son espace perso ('profile.php';).
 
{
 //pseudo et password ok -> création d'une session user
 //je récupère le pseudo saisi dans le formulaire ($pseudo) dans une variable $ses_user
 $ses_user = $pseudo;
 
 //création de la session user
 session_register("ses_user" );
 $HTTP_SESSION_VARS["ses_user"];
 
 //redirection de l'utilisateur vers son espace perso
 echo("<SCRIPT> location=profile.php'</SCRIPT>" );
}
 
A ce niveau la, j'aimerai savoir si la création se ma session utilisateur est correcte
Et si le fait de n'utiliser à aucun moment la transmission de variable par querystring est une bonne chose.
 
 
2./ Dans ma page 'profile.php' je place en haut du script la fonction :
 
<?php  
 session_start();
?>
 
Comme ça je peux me servir de ma variable de session dans mes requêtes :
?SELECT * FROM users WHERE pseudo = $HTTP_SESSION_VARS["ses_user"]?
 
 
3./ Dans la page 'profile.php' il y a un lien 'sign out' pour déconnecter l'utilisateur.
Lorsqu'il clique dessus il va à la page 'out.php'.
 
Dans la page 'out.php', je détruis la session :
 
<?php  
 session_start();
 session_destroy();
?>
 
 
4./ Et enfin un dernier point.
Dans la page 'profile.php' j'ai placé un test pour vérifier que l'utilisateur s'est bien identifier (pour éviter qu'un petit malin tape directement l'url  dans la barre d'adresse sans s'être authentifié au préalable).
 
<?php  
 //TEST SUR LA VALIDITE DE LA SESSION USER
 if ($HTTP_SESSION_VARS['ses_user'] == "" )
 {
 //l'utilisateur n'existe pas -> on le redirige
 echo("<SCRIPT> location='error.php'</SCRIPT>" );
 }  
?>
 
Ce test marche sauf la première fois que je lance le site a partir de mon navigateur, après mettre authentifié, il me redirige directement sur 'error.php' ( ?!) et si je recommence ça marche sans problème.
A mon avis le souci vient de la session.
 
 
Bon voila j'ai terminé (ouf), j'aimerai savoir si mon code est juste et si mes sessions sont fiables (et sécurisés).
En  local ça marche sauf que je ne peux pas ouvrir 2 sessions (avec 2 noms d'utilisateurs et dans 2 feuilles différentes) en même temps ( ?!)
 
Encore merci de m'avoir lu jusqu'au bout.
 
@+
 
Dead.metheny

Reply

Marsh Posté le 27-06-2002 à 17:25:55   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed