IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

identifiant de session [Fait]


Sujet :

Langage PHP

  1. #1
    Inscrit
    Inscrit en
    Février 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 93
    Points : 96
    Points
    96
    Par défaut identifiant de session
    Hello,

    J'essaie de me débrouiller en php/mysql mais jusqu'ici la sécurité ne me préoccupait pas vraiment. J'essaie maintenant de me renseigner sur quelques attitudes à avoir histoire de minimiser quand même les risques...

    Je lisais en particulier ce tuto sur la sécurisation des sessions. Malheureusement je ne comprends pas grand chose...

    Prenons un cas concret: sur un site j'utilise des variables de sessions pour stocker les variables de connexion des membres:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $_SESSION['logged'] = true;
    $_SESSION['logout_time'] = time() + 3600 * 3;
    $_SESSION['member_id'] = $infos_du_membre['id_membres']; //Id du membre
    $_SESSION['member_login'] = $login; //Pseudo du membre
    $_SESSION['member_first_name'] = $infos_du_membre['prenom']; //Prénom du membre

    Dans le tuto, l'auteur conseille différents trucs à propos des identifiants de session: qu'ils soient initiés par le serveur, non prédictibles et forgés après authentification...

    Moi dans mon cas, avec mes pauvres valeurs session, j'ai aucune idée de ce qui se passe sur le serveur lorsque je les implémante... j'ai aucune idée de ce que c'est l'identifiant de session, qui le définit (si c'est le serveur ou l'application)... bref... je nage au niveau de ce fameux identifiant de session... Quelqu'un aurait-il une bouée?

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    L'identifiant de session est, en php, crée par php sur le serveur, cet identifiant est une chaine de caractères qui est transmise soit par cookie, soit par url au navigateur et qui permet de relier celui ci aux données se trouvant sur le serveur...

    Au niveau de ce que propose l'auteur, les deux premières propositions sont respectées, seul la troisième ne l'est pas, puisque la session est crée lors de la première visite sur le site (si session_start sur cette page) alors que l'identification ne se produit pas tout de suite (passage par un formulaire...).

    http://php.developpez.com/faq/?page=...fonctionnement et http://php.developpez.com/cours/?page=securite#sessions.
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Inscrit
    Inscrit en
    Février 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 93
    Points : 96
    Points
    96
    Par défaut
    Hello!

    Merci 12monkeys. C'est bien ce qu'il me semblait que php gère automatiquement les 2 premières règles (je pensais même aussi la 3ème, du coup je cherche dans les tutos une parade...). Du coup, je me demande pourquoi l'auteur les a mentionnées...?

    L'auteur disait que le tuto s'adressait principalement aux développeurs web (PHP, J2EE, .NET, ...). Perso je ne connais que le php donc est ce que c'est parce qu'en j2ee ou en .net c'est différent et l'auteur doit indiquer lui même le nom de l'identifiant de session?

    Ou est ce au cas où l'utilisateur redifinirait la valeur de l'identifiant de session avec la fonction session_id() (perso je ne vois pas l'intérêt de cette fonction, surtout si elle implique des failles de sécurité si par exemple on renomme un identifiant de session par quelquechose de logique qui peut être retrouvé au lieu de laisser la valeur par défaut qui doit être aléatoire...)?

    Ou alors pour une autre raison encore...?

    PS: Je m'aperçois à la lecture des tutos que mon
    $_SESSION['logout_time'] = time() + 3600 * 3;
    est strictement inutile vu que son but est de déconnecter l'utilisateur au bout de 3 heures, mais en fait les serveurs font cela automatiquement, généralement après 3 heures aussi (session.cache_expire 180 180)...

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/01/2008, 16h47
  2. récupérer les identifiants de sessions via mysql
    Par loopback dans le forum Langage
    Réponses: 1
    Dernier message: 23/11/2007, 09h58
  3. Réponses: 8
    Dernier message: 05/09/2007, 11h20
  4. Récupérer identifiant de session dans SharePoint
    Par fanfan49 dans le forum SharePoint
    Réponses: 3
    Dernier message: 08/06/2007, 16h13
  5. [NetBeans] Identifiant de session
    Par nicolou dans le forum NetBeans
    Réponses: 2
    Dernier message: 22/03/2006, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo